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

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

xjtudll9年前 (2018-05-16)技术心得11670

现象:

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

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

ML610Q4xx LCD Simulate仿真

ML610Q4xx LCD Simulate仿真

通过DTU8 Debugger和LCD Image Assignment Tool,可以实现LCD仿真,这样可以很方便的调试程序。 如何实现LCD仿真,可以查看《LCD Image Tool User’s Manual》,文件名为:FEXTLcdImgToolU8_UM-07.pdf。这...

IIS配置允许下载APK文件

IIS配置允许下载APK文件

MIME类型:application/vnd.android.package-archive...

OKI单片机——ML610Q4XX PWM

OKI单片机——ML610Q4XX PWM

  /***********************************************/ * @brief 初始PWM 引脚 * @details /***********************************************/ void P43_Init...

Proteus 7.6SP4破解1.0完美补丁

Proteus7.6支持MSP430,相信大家都知道,但是网上的破解要么不支持中文系统,要么自动退出,今天终于找到了一款中文操作系统下能用的不自动退出的破解了。这个是国内一牛人破解的,以前都是国外的牛人破解的,所以很多只支持英文系统。Proteus7.6SP4下载地址:http://rapidsha...

将rdlc报表作为资源嵌套使用

将rdlc报表作为资源嵌套使用

参考资料: 2. 如何将嵌入的资源读取出来,作为报表查看器控件的来源呢? 也就是说,我们可以通过LocalReport的一个特殊属性(ReportEmbeddedResource)来很方便地实现该需求 实际上路径一般默认是类名+文件夹名 我的程序包名是XonixERP.View,然后又有三层文...

金蝶K3:直接SQL报表中进行核算项目数据授权控制的方法

--【第一步】: --根据核算项目类别ID,查询到对应核算项目的数据授权表及查看、修改、删除的权限字段名和权限掩码 --例如查出客户的数据授权表为Access_t_Organization --几乎所有的核算项目的查看、修改、删除的权限字段名和权限掩码都是以下这样: -...

发表评论

访客

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