当前位置:首页 > 技术心得 > 正文内容

STM32串口发送数据首字符丢失解决办法

xjtudll8年前 (2018-05-16)技术心得9050

现象:

串口发送数据时,第一个字符丢失

例如,发送“system init\r\n”,最后收到的是“ystem init\r\n”,在此之后发送的数据均正常。

错误代码:

ccd7cbde-9d4f-4561-9198-ebecf7de88eb

原因分析:

TC 和 TXE 标志位在复位的时候被置1 ,这样第一次while循环就是没有用的。这样导致了首次第一个字符还没有被输出,就被后面的字符覆盖掉,造成实际看到的丢失现象。

34e8ce26-d2e7-4cda-8a54-0463e8b2597e

解决办法1:

在发送之前就先清除TC位

a693ef92-d9c8-4654-81bc-3b66708af8c4

解决办法2:

在串口初始化的时候先清除TC位,这样就可以保持原来的发送代码了。

USART_ClearFlag(USART1,USART_FLAG_TC);

61c87b8d-335a-4f90-94da-39e76e5cf92a

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/500/

标签: STM32
分享给朋友:

“STM32串口发送数据首字符丢失解决办法” 的相关文章

SQL Server数据库脱机时间太长(脱机联机)

解决办法:强制脱机语句:ALTER DATABASE <dbname> SET OFFLINE WITH ROLLBACK IMMEDIATE联机语句ALTER DATABASE <dbname> SET ONLINE...

金蝶 老单增加工具栏按钮(Raise Event)

Public Sub AddToolButton(name As String, Caption As String, Description As String, Optional imagefilename As String = '', Optional iOrder As Long = 47...

数码管应用笔记

数码管应用笔记

数码管的使用方法与发光二极管没什么区别,只是把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。 为了减少管脚,把各个发光管的其中同一个极接在一起作为共用点,因此就产生了共阳极和共阴极数码之说。 共阳管就是把各个发光管的正极接在一起,而共阴管就刚好相反。见下图。 一般来...

金蝶 如何实现BOS单据下推下游单据后,不能将上游BOS单据反审核

金蝶 如何实现BOS单据下推下游单据后,不能将上游BOS单据反审核

【操作步骤】 1、使用系统管理员或者管理员组用户登陆K/3主控台,依次点击左上角【系统】→【K/3BOS】,使用有权限的用户登陆系统,进入【系统视图】界面,找到对应BOS单据发布的模块,双击进入单据界面; 2、进入上游自定义BOS单据的BOS 设计界面,单击菜单栏【编辑】→【操作...

IAR STM8 #pragma optimize 指令

IAR STM8 #pragma optimize 指令

参考资料:http://blog.csdn.net/niepangu/article/details/38066319 #pragma optimize= none  //one of none, low, medium, high, size, or speed放在被优化函数前 ...

气压传感器选型指南

气压传感器选型指南

文章来源:传感器视角 详细出处:http://blog.21ic.com/user1/6459/archives/2010/68599.html 在我给客户做技术的工作当中,经常遇到客户问到这样的问题,"目前市场上气压传感器都各有什么优势?""我们应该如何去选型?&...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。