电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>通信网络>如何使用51单片机进行串口通信的发送与接收

如何使用51单片机进行串口通信的发送与接收

2019-07-08 | pdf | 0.14 MB | 次下载 | 1积分

资料介绍

  51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。看到过一些书籍和文章,在串口收、发数据的处理方法上,很多人都有不妥之处。接收数据时,基本上都是使用“中断方式”,这是正确合理的。

  即:每当收到一个新数据,就在中断函数中,把 RI 清零,并用一个变量,通知主函数,收到了新数据。发送数据时,很多的程序都是使用的“查询方式”,就是执行 while(TI ==0); 这样的语句来等待发送完毕。这时,处理不好的话,就可能带来问题。

  看了一些网友编写的程序,发现有如下几条容易出错:

  1.有人在发送数据之前,先关闭了串口中断!等待发送完毕后,再打开串口中断。这样,在发送数据的等待期间内,如果收到了数据,将不能进入中断函数,也就不会保存的这个新收到的数据。这种处理方法,就会遗漏收到的数据。

  2.有人在发送数据之前,并没有关闭串口中断,当 TI = 1 时,是可以进入中断程序的。但是,却在中断函数中,将 TI 清零! 这样,在主函数中的while(TI ==0);,将永远等不到发送结束的标志。

  3.还有人在中断程序中,并没有区分中断的来源,反而让发送引起的中断,执行了接收中断的程序。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1基于c51的时钟设计
  2. 0.56 MB   |  3次下载  |  免费
  3. 2CC256x TI蓝牙协议栈基础HFGAGDemo应用
  4. 1006.09KB   |  2次下载  |  免费
  5. 3智能门锁原理图
  6. 0.39 MB   |  2次下载  |  免费
  7. 4CC256x TI Bluetooth Stack SPPLEDemo应用
  8. 1.48MB   |  1次下载  |  免费
  9. 5AHD/TVI/CVI/CVBS转HDMI/VGA/CVBS高清转换方案
  10. 0.19 MB   |  1次下载  |  免费
  11. 6通过C51单片机控制数码管显示
  12. 0.56 MB   |  1次下载  |  免费
  13. 7ADS8332EVMV2-PDK评估模块
  14. 1.98MB   |  1次下载  |  免费
  15. 82024PMIC市场洞察
  16. 2.23 MB  |  1次下载  |  免费

本月

  1. 1XL4015+LM358恒压恒流电路图
  2. 0.38 MB   |  146次下载  |  1 积分
  3. 2新概念模拟电路第四册信号处理电路电子书免费下载
  4. 10.69 MB  |  61次下载  |  免费
  5. 3PCB布线和布局电路设计规则
  6. 0.40 MB   |  21次下载  |  免费
  7. 4JESD79-5C_v1.30-2024 内存技术规范
  8. 2.71 MB   |  10次下载  |  免费
  9. 5elmo直线电机驱动调试细则
  10. 4.76 MB   |  9次下载  |  6 积分
  11. 6GB/T4706.1-2024 家用和类似用途电器的安全第1部分:通用要求
  12. 7.43 MB   |  7次下载  |  1 积分
  13. 7串口工具UartAssist5.0.exe
  14. 0.60 MB   |  6次下载  |  免费
  15. 8使用CR6850C设计并制作12V5A开关电源
  16. 1.53 MB   |  6次下载  |  2 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935115次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420061次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233084次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183330次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73805次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65985次下载  |  10 积分