我测试的结果是没有丢掉字母p
不用hex显示可能会显示紊乱,但内容还在,例如显示成这样:
那是系统把 88 70 当作汉字显示了
你没有利用串口中断,未定义串口中断处理函数,所以不应当开放 ES =1;
置 ES=0; 使之不产生串口中断事件,但并不等于不会置串口发生标志 TI
程序有几个可疑的位置 ,
1.你用uchar * 来指向uchar code* 这个可能有问题
2.设ES = 1; 会在TI被置1时CPU控制权会跳到串口向量,但你未定义串口中断函数
3.程序就算能发送,也只在单片机开机那一小会,你看不到很正常,应当改成由开关按据触发,按一次,发一回,这样,你就可以有时间来监测有没有发生串口信号了。
假设收到的数据存在单片机temp里面。
char temp[4] ={'5','1','6','8'};
a = (temp[0] - '0') * 10 + (temp[1] - '0');
b = (temp[2] - '0') * 10 + (temp[3] - '0');
这样就可以了。
STC单片机字符的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:STC单片机字符