在进行串口的收发数据过程中一定要注意波特率的问题。

大多数51单片机用的都是11m晶振而只有少部分用的是奇葩的12m(楼主的就是),在12m晶振进行串口通信时切忌要将波特率设置为4800以下,应为12m晶振的波特率在9600以上误差很大容易丢失数据,动手能力强的可以折腾一下用定时器输出9600波特率。

至于,串口中断以及波特率的设置可以参考网上例子忒多。

在用串口助手进行串口收发数据时都会触发串口中断并且在发送数据时只能够一位一位的发送,也就是SBUF=10是不行的智能一位一位发送也就是每次只能发送(0-9或者一个字符)并且串口调试助手接收到的数据是asii码要进行下转换,发送也要进行一下转换。这只是针对串口调试助手

话不多说直接上代码:

基于51 单片机的串口收发数据

 

基于51 单片机的串口收发数据

基于51 单片机的串口收发数据

基于51 单片机的串口收发数据

基于51 单片机的串口收发数据

基于51 单片机的串口收发数据

基于51 单片机的串口收发数据

由于代码不方便公布所以只能上图片需要的可以私聊博主

 

 转载请标明原贴出处:https://blog.csdn.net/zj490044512

相关文章:

  • 2021-11-21
  • 2021-04-28
  • 2021-04-24
  • 2022-01-12
  • 2021-08-28
  • 2021-11-28
  • 2021-11-28
  • 2022-12-23
猜你喜欢
  • 2021-07-24
  • 2021-09-21
  • 2022-12-23
  • 2021-12-08
  • 2021-11-09
  • 2021-11-04
  • 2021-12-22
相关资源
相似解决方案