概述
单片机型号:STM32L053R8T6
今天这个问题一定要记录下来,使用485总线时,串口不能正确发送数据。串口的驱动程序已应用在多个实际项目中,自己并未认识到串口的驱动程序会有什么问题,而且在STM32F0芯片中,已经使用过了485,那时很是正常,所以这次问题的出现,倍感以外。
先说一下现象,使用485向计算机发数,计算机接到的全部都是0x00,开始怀疑很多问题,例如连线焊接等,一一排除,不能解决。使用示波器进行查看,发现单片机发送的数据就是这样的,很是奇怪。好在线路板设计时,单片机所在的线路板可以取下,将其插在带有USB转串口的板子上,发现一切正常。这说明单片机所在的电路是没有问题的,应该在外设板上。继续查找原因,直到将外设板上的所有元器件全部都焊下,也没有解决。再次比较485和USB转串口板,只剩下USB转串口芯片了,将这个芯片焊下后,USB转串口板也同样呈现这个问题。
用示波器查看串口的发送端,可以是高电平,但串口的接收端一直是低电平。此时开始怀疑电平问题,当有芯片存在时,将串口的接收端上拉到高电平,所以串口收发正常,当没有芯片时,接收端悬空,反复触发接收中断,所以串口异常。
但是F0的芯片,为什么可以呢?打开原先的程序看一下配置。
最后
以上就是包容橘子为你收集整理的STM32开发笔记36: 串口不能正确发数的解决方法的全部内容,希望文章能够帮你解决STM32开发笔记36: 串口不能正确发数的解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复