51定时器预载值为何用按位或赋值????

[复制链接]
 楼主| kun5979 发表于 2011-10-17 09:51 | 显示全部楼层 |阅读模式
如下:
SBRLH1 |= (65536-SYSCLK/2/BAUDRATE)/256;
SBRLL1 |= (65536-SYSCLK/2/BAUDRATE)%256;

直接用=有什么不同
dqyubsh 发表于 2011-10-17 10:00 | 显示全部楼层
如果左边的两个寄存器所有位都是用来表示一个意思的,并没有特别的位需要保留赋值以前的数据,那就不应该用|=,至少有歧义,应该避免这种模棱两可、似是而非的语句。

网上的代码、书上的代码,都要先批评,再集成。
 楼主| kun5979 发表于 2011-10-17 10:20 | 显示全部楼层
回LS,这是我们公司常用的测试程序中的一段,而且使用中没发现什么异常,所以我才感到奇怪
dqyubsh 发表于 2011-10-17 10:27 | 显示全部楼层
前人的、牛人的代码也要怀疑,谁都不是神仙,呵呵。

能简单偏要弄复杂,能直截了当偏要舍近求远,这都是不对的。代码是给人看的,不是给编译器看的。
 楼主| kun5979 发表于 2011-10-17 10:38 | 显示全部楼层
受教了,谢谢
ayb_ice 发表于 2011-10-17 10:47 | 显示全部楼层
增加定时器的定时精度,当然有一定的调整范围
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

0

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