STM32F407 USART发送数据问题

所属分类:STM32F系列 浏览数:1162 提问者: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

登录后回答。
图书推荐
漫画半导体(高清版)

漫画半导体(高清版)

这是一本实用性很强的图书,,以漫画的形式更易于让人接受,边读故事边学知识,轻松且易于记忆。
算法心得:高效算法的奥秘

算法心得:高效算法的奥秘

本书给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门...
基于STM8S-无刷直流电机控制应用

基于STM8S-无刷直流电机控制应用

无刷直流电机是21世纪最有发展前景的新型电机之一。本书以STM8S单片机为控制核心...
广告