野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9652|回复: 2

关于串口发送字符串数据丢失问题

[复制链接]
发表于 2014-8-1 21:21:01 | 显示全部楼层 |阅读模式
小弟在做STM32串口发送字符串时遇到这样一个问题,当发送一个字符的时候,能够正常接收,当发送一个字符串的时候,字符串的首字母接收不到。有没有大神遇到这种情况,求解决思路。
回复

使用道具 举报

 楼主| 发表于 2014-8-1 21:42:11 | 显示全部楼层
找到原因了,一开始我是这样写的               
USART_SendData(USART1,*p);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET){;}
后来我改变了这两句的位置
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET){;}
USART_SendData(USART1,*p);
字符串就可以完整输出了。但是,这里有个问题,就是发送的时候,不是先发送,再检查是否发送完毕吗?

               
回复 支持 反对

使用道具 举报

发表于 2015-4-6 09:55:29 | 显示全部楼层
可以把
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET){;}
改成
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET){;}
这样就没问题了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-2 01:17 , Processed in 0.029166 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表