标题:
这是DS 18B2的部分代码,想不明白为什么要|0x30,求各位大佬解答
[打印本页]
作者:
wsxwsx
时间:
2020-4-4 16:14
标题:
这是DS 18B2的部分代码,想不明白为什么要|0x30,求各位大佬解答
et=cm&0x000f;
disply[4]=st[et]|0x30; //截取后四位,查表转换后,填入显示缓冲区
et=cm>>4; //去掉小数部分
if(et>99) //温度过百
{
disply[0]='1';
et=et-100;
}
disply[1]=(et/10)|0x30; //取温度整数
disply[2]=(et%10)|0x30;
stop=0;
这是DS 18B2的部分代码,想不明白为什么要|0x30,求各位大佬解答
作者:
game灬boy
时间:
2020-4-4 19:31
把字符转换成ASCII码比如‘a’的ASCII码就是‘a’|0x30;或者‘a’|‘0’;
作者:
xxpp2011
时间:
2020-4-4 20:34
按位或运算,00110000将st[et]第5、6位置1。
作者:
sZhou
时间:
2020-4-4 21:04
0x30表示30是十六进制,0x是十六进制的开始符;;“|”是按位或运算符;;百位已经显示1了,十位个位就是取余再转16进制输出送达显存
作者:
man1234567
时间:
2020-4-6 09:52
方便数字在1602屏上显示,可查相关说明书。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1