OpenEdv-开源电子网

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

USART接收数据错位

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-9-1
在线时间
6 小时
发表于 2014-9-1 11:15:41 | 显示全部楼层 |阅读模式
5金钱
在用USART的时候,发现当同时接收多组数据的时候,第一组数据可以正确接收,后面接收的数据有错位,接收数据如下:
发送的数据:AA 11 10 00 30 00 E2 00 30 00 05 0C 01 86 03 30 F2 6C 55 
第一次可以正确接收:AA 11 10 00 30 00 E2 00 30 00 05 0C 01 86 03 30 F2 6C 55 
第二次以后接收到的数据:55 AA 11 10 00 30 00 E2 00 30 00 05 0C 01 86 03 30 F2 6C 


请问这是什么原因造成的,已经困扰我几天了,都没有发现问题,求大神指导,感激不尽啊

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

248

帖子

2

精华

高级会员

Rank: 4

积分
842
金钱
842
注册时间
2012-2-8
在线时间
19 小时
发表于 2014-9-1 12:52:37 | 显示全部楼层
看看你的串口程序怎么写的
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-9-1
在线时间
6 小时
 楼主| 发表于 2014-9-1 13:04:23 | 显示全部楼层
/**
  * @brief  USART1中断服务程序  提取EPC数据
  * @param  无
  * @retval 无
  */
void USART1_IRQHandler(void)
{
uint8_t i = 0;
RFID_status  status;
if(USART1_RTX_length < 19)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)

receive_data19[USART1_RTX_length] = USART_ReceiveData(USART1);
USART1_RTX_length++;
}
/*判断接收的数据是否为确认命令 5个字节*/
if((USART1_RTX_length == 5) &&(receive_data19[USART1_RTX_length-1] == 0x55))
{
for(i = 0;i<USART1_RTX_length;i++)
{
receive_data5 = receive_data19;//将数据转移到5个字节的数组
}

status = receive_data_compare(receive_data5);
RFID_status_display(status);
delay(10000);
LCD_clear_diaplay(3,0,16);

// display_receive_data(receive_data5,5);

USART1_RTX_length =0;//连续发射和接收数据的长度(字节数)清零
receive_data_init(19);//接收数据数组清零
}
/*判断接收的数据是否UII 19个字节*/
if(USART1_RTX_length == 19)
{

extract_EPC_func(receive_data19,EPC_receive_data,cont_flag);//提取EPC数据

display_receive_data(receive_data19,19);
USART1_RTX_length = 0;

}

}>
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-9-1
在线时间
6 小时
 楼主| 发表于 2014-9-2 09:09:24 | 显示全部楼层
有没有人知道的,帮忙一些呗
回复

使用道具 举报

22

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
446
金钱
446
注册时间
2014-4-7
在线时间
53 小时
发表于 2014-9-6 10:32:45 | 显示全部楼层
楼主,你的问题解决了没有,我也有同样的问题!!!!!!!!急急!!!
回复

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2012-9-21
在线时间
2 小时
发表于 2014-9-6 21:54:07 | 显示全部楼层
建议楼主换一种写法。例如与迪文屏通讯时用到的那种,很简单。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-2 08:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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