51单片机C程序中“|”是做什么用的?
时间:10-02
整理:3721RD
点击:
如下,在keil中的截图。TMOD,PCON后面的“|”是注释吗,有什么用?编译时删掉或者不删掉都不报错。

去找本C语言的书看看吧,
或运算,相当于:SCON=SCON|0x50,小编这是最基础的东西了
或运算是晓得的,不过不太明白它为什么这样做。要设置定时器T1处于方式2,波特率加倍只需TMOD=0X20,PCON=0X80就可以啦吧?请大侠指点
假如原来TMOD中有值0X01的话,,运行TMOD = 0X20; 这条语句之后就会强制改变原来TMOD中的值变为0X20;
但是如果使用 TMOD |=0X20; 的话,就不会改变TMOD中的最低位,,,TMOD = TMOD | 0X20; 结果就是0X21了!
也就是说利用或运算使得寄存器中其他的位保持不变.
哦,明白啦。但如果之前是TMOD=0X10的话,使用 TMOD |=0X20;后结果就是0X30 了,T1就不是方式二了。这样的情况就不能用了哈
先与再或
TMOD &=0X0f;
TMOD |=0X20;
