微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机串口程序问题SBUF=(unsigned char)(temp>>8);

单片机串口程序问题SBUF=(unsigned char)(temp>>8);

时间:10-02 整理:3721RD 点击:
看到一个PC机与单片机的串口程序,里面有一句是"SBUF=(unsigned char)(temp>>8);"请问这句程序具体是怎么执行的,它后面的注释是将测量发送给PC机。求大神指教,谢谢!

先计算(temp>>8),如果temp是char型,则最终结果是0,如果temp是整形,则就是将temp的高8位移到低8位。比如temp=0xff00,执行temp>>8之后,temp=0x00ff。然后执行(unsigned char),也就是将temp的值强制转化为字符型(注意:只将temp的值强制转化为字符型,temp本身还是整形)。比如(unsigned char)0x00ff结果为 0xff 。最后执行赋值语句。

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

网站地图

Top