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

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

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

现象:

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

例如,发送“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://www.xjtudll.cn/Exp/500/

标签: STM32
分享给朋友:

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

大胆假设,小心求证

今天,捣鼓利尔达心电DEMO仪,主要是为了验证自己写的心率处理程序是否正确。结果,怎么捣鼓电压都不正常。用锂电池通过一个3V的LDO给系统供电。供电前,测试LDO输出电压正常,3.04V,结果一接上电路板,电压立马被拉至2V,有时甚至1.5V。从现象来看,首先怀疑的是DEMO板存在短路现象,电流过大...

iPhone下xib转成iPad的xib

iPhone下xib转成iPad的xib

参考文献:http://blog.csdn.net/kmyhy/article/details/7715397 在Xcode 3中,将xib从iPhone版转变为iPad版,通过Create iPad Version菜单。 但在Xcode 4及Xcode5中,这个菜单找不到了。但是可以通过其...

Xcode Warning:Unsupported Configuration Content rectangle解决

Xcode Warning:Unsupported Configuration Content rectangle解决

参考资料:http://stackoverflow.com/questions/12423654/unsupported-configuration-error-in-cocoa-xcode 警告: " Unsupported Configuration  &n...

51单片机内部扩展RAM

51单片机内部扩展RAM

一直想写一篇关于51RAM的文章,网上看到这篇文章,觉得讲的比较详细,我就不献丑了,转载过来了。初学者可以看看。 原文网址:http://www.jhmcu.com/index.php/mcu-internal-expansion-ram-application/ 单片机内部RAM:共256个单元...

在水晶报表中使用Code128条形码

在水晶报表中使用Code128条形码

核心重点:字符串如果直接用code128字体显示,是无法扫描出来的。 1.将code128条码字体拷贝到C:\Windows\fonts下 2 .在水晶报表里的【字段资源管理器】的【公式字段】中新建一个公式字段例如我命名为Code128 3.在新建的字段单击鼠标右键 选择编辑 在报表自定义函数中新建...

多字节乘法--汇编实现原理

       乘法的本质是加法,乘法是加法的简便运算。但是如果纯粹用加法,加的次数太多,例如,358*24,即使用358作加法,也要24次。多字节乘法与珠算的“空盘前乘法”类似,是手工算法的变种。   &n...

发表评论

访客

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