OpenEdv-开源电子网

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

求助,为什么DMA发送时RX总会有一个小波动导致接收不到,必须发送第二次才能才正确接收

[复制链接]

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
发表于 2015-7-6 14:11:37 | 显示全部楼层 |阅读模式
5金钱


RT,发送时RX上总会有个波动,然后就没收到内容,第二次再次发送就能正常收到。

最佳答案

查看完整内容[请看2#楼]

USART_ClearFlag(USART1, USART_FLAG_TC);//清除USARTx的待处理标志位 USART_ClearFlag(USART1, USART_FLAG_RXNE);//清除USARTx的待处理标志位
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 14:11:38 | 显示全部楼层
USART_ClearFlag(USART1, USART_FLAG_TC);//清除USARTx的待处理标志位

USART_ClearFlag(USART1, USART_FLAG_RXNE);//清除USARTx的待处理标志位
学习ING,坚持啊、、
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 14:23:50 | 显示全部楼层
诺诺的回答下: 是不是先要清除下串口标志,应为开始时默认值时被置1的、、、、
学习ING,坚持啊、、
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 14:33:48 | 显示全部楼层
回复【2楼】STM32-学习者:
---------------------------------
额,是中断标志吗?我没有用中断。。
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 14:34:38 | 显示全部楼层
不是,就是发送/接收完成标志
学习ING,坚持啊、、
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 14:55:09 | 显示全部楼层
回复【5楼】STM32-学习者:
---------------------------------
真的可以了!谢大神!
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 14:57:38 | 显示全部楼层
我不是大神,我是初学者、、、、
学习ING,坚持啊、、
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 15:00:17 | 显示全部楼层
回复【7楼】STM32-学习者:
---------------------------------
额,虽然搞定了还是有个问题问下,那为什么第一次不行,之后的每次都可以啊?我也没有去清标志啊。。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 15:01:15 | 显示全部楼层
回复【7楼】STM32-学习者:
---------------------------------
就是我一次通信里会有很多歌收发过程,第一个过程失败,然后会有一个重发,重发就OK了,以及后面的都OK了。。好奇怪。照道理没清标志也不行啊。。
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 15:01:40 | 显示全部楼层
都给你说了,上电的时候就自动置1了、、、、
学习ING,坚持啊、、
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 15:08:58 | 显示全部楼层


可是为什么一组通信结束后,开始新一组时第一次又会失败,然后才成功。。并没有下电。。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 15:09:10 | 显示全部楼层
回复【10楼】STM32-学习者:
---------------------------------
看一下楼上。。
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 15:11:45 | 显示全部楼层
你那个清除标志位置没放对、、、、
学习ING,坚持啊、、
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 15:12:33 | 显示全部楼层
开始的时候清除一次就行了,不用太多次,或者循环,用到的时候在清除、、、
学习ING,坚持啊、、
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-7-6
在线时间
0 小时
 楼主| 发表于 2015-7-6 15:13:57 | 显示全部楼层
回复【14楼】STM32-学习者:
---------------------------------
嗯,我这个是之前没清的时候的现象。。现在OK了,只是好奇之前没清为什么还能失败后又成功。。
回复

使用道具 举报

27

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-7-5
在线时间
47 小时
发表于 2015-7-6 15:15:15 | 显示全部楼层
、、、、、、、、、、、、、
学习ING,坚持啊、、
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 13:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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