[MCU] 有什么区别

[复制链接]
394|39
| 2019-7-14 20:47 | 显示全部楼层

作用结果来看:
语句1:不影响除了UCSSEL_2、UCDORM、UCRXEIE位的其它位。
语句2:会影响

使用特权

评论回复
| 2019-7-14 20:50 | 显示全部楼层


编译效率来看:
语句1比2效率高。

使用特权

评论回复
| 2019-7-14 20:53 | 显示全部楼层

这个C语言知识的问题,就是一个或操作。

使用特权

评论回复
| 2019-7-14 20:56 | 显示全部楼层
语句1是使得UCSSEL_2+UCDORM+UCRXEIE   这3位置1.其他的保持不变。语句0是使得UCSSEL_2+UCDORM+UCRXEIE置1.其他位置0.

使用特权

评论回复
| 2019-7-14 21:01 | 显示全部楼层
这个就是对某个寄存器某位进行操纵。

使用特权

评论回复
| 2019-7-14 21:08 | 显示全部楼层

UCA3CTL1直接赋值就是配置成想要的功能。

使用特权

评论回复
| 2019-7-14 21:12 | 显示全部楼层
这个就是位操纵的不同。

使用特权

评论回复
| 2019-7-14 21:15 | 显示全部楼层
语句1就是仅仅改变这些变量的位。

使用特权

评论回复
| 2019-7-14 21:18 | 显示全部楼层

楼主是否还需要在其他地方配置这个寄存器

使用特权

评论回复
| 2019-7-14 21:23 | 显示全部楼层
只有一句UCA3CTL1,这个命令没有区别,就会改变默认了。

使用特权

评论回复
| 2019-7-14 21:27 | 显示全部楼层
不同的时候是UCSSEL_2+UCDORM+UCRXEIE以外的其他寄存器修改为0.

使用特权

评论回复
| 2019-7-14 21:32 | 显示全部楼层

不修改其他的配置就是语句1.
正常来配置的话,两个语句都可以。

使用特权

评论回复
| 2019-7-14 21:38 | 显示全部楼层
仅仅在初始化配置的话,命令执行都是一样的。

使用特权

评论回复
| 2019-7-14 21:41 | 显示全部楼层
建议使用第二种配置的方法。

使用特权

评论回复
| 2019-7-14 21:44 | 显示全部楼层
语句1仅仅是修改UCSSEL_2+UCDORM+UCRXEIE

使用特权

评论回复
| 2019-7-14 21:47 | 显示全部楼层

2楼正解,用或运算不影响其它位

使用特权

评论回复
| 2019-7-14 22:19 | 显示全部楼层
寄存器位操纵,或运算不影响其它位,一般都用或运算,楼主可以看一下寄存器的值是不是这样

使用特权

评论回复
| 2019-7-14 22:21 | 显示全部楼层

这两个区别的楼上都说的了的,主要是影不影响原有的寄存器的值的。

使用特权

评论回复
 楼主 | 2019-7-14 22:24 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表