为了校验,要不然数据会出错。你的通信方式是要求有校验的。你用的串口调试工具发的话,本身已经将你发送的数据改成ASCII码了。
电脑显示的是字符串格式吧?当然是乱码,应该显示16进制才对,还有,SBUF=read_temp();只能发送读取数据的低8位,高8位就没了。。。。
波特率不对,或串口发送有问题