分析的原因
在对串口传送数值时,不想再进行一步字符转化,想要直接传送数值。但查看时就需要以16进制的数值形式查看数据,否则将不能看到正确的数据显示
下图是对串口寄存器发送一个16bit位的数据
void uart0Senduint16(UINT16 dat){
SBUF=dat/256;
while(TI==0);
TI=0;
SBUF=dat%256;
while(TI==0);
TI=0;
}
下图中的比较
需要注意的是串口助手的字符显示编码方式是GB2312,不然在乱码时不可能出现中文字符
在127内的ASCII码若是字符可以完整显示(GB 2312 兼容 ASCII 码(0 - 127)),若是换行等特殊功能就会执行对应的动作,大于127后也有乱码的情况 ,