OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3473|回复: 1

串口丢包

[复制链接]

7

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-5-26
在线时间
5 小时
发表于 2017-6-8 09:29:34 来自手机 | 显示全部楼层 |阅读模式
程序启动之后,串口先发送了查询指令,但串口收的第一字节会丢。丢包仅出现在程序启动后第一次收上,接下来所有的收都正常,我也尝试加上延时,没有效果。请问这有可能是什么问题?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
144
金钱
144
注册时间
2016-9-3
在线时间
26 小时
发表于 2017-6-8 15:11:13 | 显示全部楼层
参考RS485实验
发送之前应该先读寄存器TC位,代码如下
for(t=0;t<len;t++)                //循环发送数据
{                  
        while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);//等待发送完成         
        USART_SendData(USART2,buf[t]);
}while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);       
如果是先发送,再读取则可能会导致第一字节丢失
我之前丢失头数据就是这个原因,希望可以帮助到你
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-18 18:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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