单片机串口程序问题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 。最后执行赋值语句。