STM32F407 USART发送数据问题

所属分类:STM32F系列 浏览数:245 提问者:kiravsl 提问时间:2017-10-11

问:

初学STM32,买的STM32F407VET6 开发板,运行买开发板时配套给的RS232通讯测试实验例程时,实验例程主要功能是给开发板发送一串符合一定格式的字符串,然后原封不动返回这个字符串。发现通过串口给开发板发送指定格式的数据后,开发板总是会先回复一串乱码,然后回复正常字符串数据,通过打断点调试,先回复的一串乱码在用户代码发送数据之前发的,尝试了在用户代码发送之前禁用发送器(CR1中TE位置0),收到指定格式数据时再打开发送器,结果还是同样的现象。有两个问题: 1、一开始的一串乱码怎么发出来的,为什么禁用了发送器还能发出数据? 2、收到指定格式数据后,开发板发送原样数据回去的时候为什么要先延时一段时间才能正确收到开发板返回的数据,不然就是乱码,两端波特率设置之类的是一致的


答:1、一开始的一串乱码怎么发出来的,为什么禁用了发送器还能发出数据? 答:有可能是硬件干扰引起的乱码 2、收到指定格式数据后,开发板发送原样数据回去的时候为什么要先延时一段时间才能正确收到开发板返回的数据,不然就是乱码,两端波特率设置之类的是一致的 答:是因为串口是一个一个字节发送,需要程序判定前面一个字节发完了,再发下一个字节,不然就会乱码。
回答者:贺工 回答时间:2017-10-11

答:如果问题还没有解决请关注微信公众号“单片机STM32”,很高兴为你解答
回答者:贺工 回答时间:2017-10-11

答:你可以这样验证下硬件线路问题,TX/RX直接互联,看看有无这个问题。 关于第二个问题主要跟你的代码有关,看看代码是怎么处理的,处理速度 怎么样。
回答者:xmshao 回答时间:2017-10-12

登录后回答。
图书推荐
ARM快速嵌入式系统原型设计

ARM快速嵌入式系统原型设计

本书通过mbed介绍嵌入式系统设计的所有主要议题,便于读者快速掌握嵌入式系统的设计方法。
STM32库开发实战指南

STM32库开发实战指南

本书围绕库的分析和使用,对综合运用固件库开发项目给出了具体范例,循序渐进、系统地掌握。
轻松玩转STM32Cube

轻松玩转STM32Cube

本书结合官方手册和例程,全面、系统介绍了STM32F103各项功能,是学习STM32的入门教材。
广告