51单片机中SBUF中读出的数据类型?

51单片机中SBUF中读出的数据类型?传进去一个数,然后我把它赋给一个变量,然后判定他的值,好像0-9全都不

SBUF读出来的是ASCII码,数据类型当然是unsigned char,所以如果你从PC发一个数字9给单片机,单片机实际接收到的数据是0x39(9对应的ASCII码),所以你在程序中判断的值应该是0x39而不是9。希望我的回答对你有帮助,谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-26
二楼的回答是有问题的,可能是通过串口软件发送,由串口软件自动转换了。正确通讯的情况下从PC串口SBUF发送什么值,在单片机串口SBUF口会同样读到什么值。
SBUF读出的数据类型是unsigned char,取值是0-255(16进制0x00 - 0xff),通过串口可以只发送ASCII码,也可以发送0-255全范围的数值,一般尾部要加上CRC校验,以确保传送的可靠性。
第2个回答  2011-08-26
SBUF是一个双向的寄存器,不要寄望于把写的数据读回来。
读写都是以字节为单位的,向它赋值就是发送一个字节,从它取值或者使用它就是接收一个字节,所以。。。 :)
第3个回答  2011-08-26
你的问题不全啊,你应该在补充里面描述你的问题,请注意修改问题