微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 51单片机C程序中“|”是做什么用的?

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;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top