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

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

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

现象:

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

例如,发送“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串口发送数据首字符丢失解决办法” 的相关文章

OKI单片机——ML610Q4XX 定时器

OKI单片机——ML610Q4XX 定时器

1.8位定时器 void Time0_8Bit_Init(Clock_Timer_TypeDef TClock,uint8 TData) { DTM0 = 1;//初始化寄存器 DTM0 = 0; //Enable operating Timer 0 (initial value) TM0D =...

太阳能板发电原理

太阳表面温度高达摄氏6000度,内部不断进行核聚变反应,并且以辐射方式向宇宙空间发射出巨大能量。人类有三个途径利用太阳能:光热转换、光电转换及光化转换。 光热转换即靠集热器把太阳能收集,可应用于将水加热,或在寒带地区的冬季,设计太阳能暖房让人抵抗低温。太阳能暖房系统由太阳能收集器、热储存装置、...

error 65: access violation at 0x40021000 : no 'read' permission

error 65: access violation at 0x40021000 : no 'read' permission

经过测试发现,该办法仅仅适合STM32F103,对于STM32F107,即使这样修改,还是提示同样的error的。 我是在Win7 64bit下实验的 以下是参考资料: https://blog.csdn.net/beready/article/details/24668529 开发环境:keil...

OKI编译器路径设置及uEase驱动的安装

OKI编译器路径设置及uEase驱动的安装

1、OKI编译器系统路径的设置 OKI的编译器环境IDEU8默认是安装到C盘的。在安装时,若选择到其他盘,则在默认设置下无法编译成功,编译报错。原因是默认的路径都是在C盘,要解决这个问题,必须重新设置系统路径。 设置步骤:File -> Environment settings -> S...

k3 API 如何修改token的有效期

解决方案: Token有效期的修改(FValue的单位为秒): UPDATE t_SystemProfile set FValue= '86400' --有效时间 where FCategory= 'API' AND FKey= 'tokenvalidity'...

SQL累减语句

https://bbs.csdn.net/topics/70362619 表一 Item Qty A 10 A 12 A 14 B 13 B 60 C 30 C 40 C 10 表二 Item Qty A...

发表评论

访客

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