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

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

xjtudll7年前 (2018-05-16)技术心得6880

现象:

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

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

LCD制作参数

1 、Display Type显示类型 TN 、HTN 、STN 、FSTN 等 显示类型对产品的价格影响最大,通常由显示像索的数量及产品的档次而定 TN 、HTN 、LCD 、COG 是什么? TN叫什么扭曲型LCD , HTN是比TN 宽视角的,上下各宽15度视角的,弥补TN 的一些不足,比他们...

Win7 64bit右键添加 显示/隐藏文件+扩展名 及问题解决

目前网上广为流传的 显示/隐藏文件+扩展名有两种方式: 1、小工具 2、修改注册表 第一种方式,找个小工具软件,我找了很多,但都不适合Win7 64bit,XP或Win7 32bit或许适用。关于这个工具的相关介绍及下载,可以参照以下网址: http://www.iplaysof...

金蝶出入库单据类型

FTranType FBillName 1 外购入库单 2 产品入库单 5 委外入库单 10 其他入库单 21 销售出库单 24 领料单 28 委外出库单 29 其他出库单 40 盘盈单 41 调拨单 43 盘亏单 100 成本调整单 101 外购入库暂估补差单 102 委外加工暂估补差单...

Protel99SE添加泪滴焊盘

Protel99SE添加泪滴焊盘

在电路板设计中,为了让焊盘更加坚固,防止机械制板时焊盘与导线之间断开,常在焊盘和导线之间用铜膜布置一个过渡区,形状像泪滴,故常称做补泪滴(Teardrops)。 泪滴的放置可以执行主菜单命令 Tools->Teardrops,将弹出如图所示的 Teardrop ptions (泪滴)设置对话...

SensorTag编译错误Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.

SensorTag编译错误Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.

问题: IAR 8051 8.302,编译TI的BLE-CC254x-1.4.0的SensorTag工程,对此工程没有进行任何改动,直接编译,出现如下错误: 分析: 参考TI技术论坛【http://www.deyisupport.com/question_answer/wireless_conne...

水晶报表 文件 xxxx.rpt 文件内部出错:无法加载数据解决方案

水晶报表 文件 xxxx.rpt 文件内部出错:无法加载数据解决方案

  水晶报表 文件 xxxx.rpt 文件内部出错:无法加载数据解决方案 发布的时候,忘记带上这个app.config了,编译以后它的名字叫做xxx.exe.config(在debug和release目录里),xxx表示你的应用程序的启动项的程序文件,或者叫主程序吧,知道是什么就行了,...

发表评论

访客

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