上节分享了定时器的综合应用实例程序,其他的视频课程的代码相对都比较简单,就不再单独的贴出了(如果有需要分享的,可以单独留言具体的视频课程的标题,后续再做相关的分享)。从本节开始,陆续分享关于串口通信的一些代码,这也是部分 友一直私信要求分享的,当然也是基于串口的重要性。比如我们平时在程序的调试过程中,经常使用串口来进行相关的调试,打印一些信息或数据到上位机,以便观察和判断程序的逻辑功能是否符合预期。另外在设备和设备之间,设备和上位机之间进行通信时,串口也是一个重要的外设,因此,掌握了串口相关的功能,可以说,单片机的入门就差不多了。本节代码对应的视频课程为:串口发送一串数据到上位机及Printf串口输出重定向的实现,视频链接为:
https://www.ixigua.com/6842637474208940548。本节视频课程主要是介绍了如何实现printf重定向到串口的问题,感兴趣的同学可以翻看相关的视频了解具体的实现讲解,也可以直接参考下面的代码,进行相关的调试测试。需要注意的是使用ptintf重定向,格式化输出时,会增加代码的容量,效率不高,一般主要用于调试过程,调试完成后,可以注释掉相关的代码,如果是用于串口的通信,则不建议直接使用printf,可以自己编写相应的串口发送程序代码来实现具体的功能。另外需要注意的是,如果用于串口的数据通信,单片机的晶振最好选择11.0592MHz,因为用该晶振时,波特率计算时,定时器的初值是整数,不存在累积的传输误差。话不多说,下面是具体的代码实现,分为main.c和uart.c。
仿真的效果图如下:
注意,如果使用的是proteus仿真的话,可以使用仿真工具虚拟终端进行测试,也可以安装虚拟串口软件,借助虚拟串口进行和上位机进行通信测试。具体的虚拟串口的使用,视频课程中有具体的介绍,可以打开视频进行了解。
proteus仿真测试效果
虚拟串口终端
借助虚拟串口和上位机串口助手进行通信测试
代码仅供有需要的同学参考,有问题可以留言交流。感谢关注,后续会继续分享课程视频的相关代码。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!