多个STM32相连的冲突问题:为什么上次没处理的数据会影响下次

2019-07-14 18:23发布

我刚接触STM32不久,对DMA和中断的用法不是很熟,不知道为什么上次没处理的数据会影响下次,或者是我没有完全关闭DMA的接收或是没清缓存?请大牛指点我的问题所在,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
旧巷幽草香
2019-07-15 01:34
ctwewer 发表于 2018-8-24 07:39
那个AAAA应该是从机给主机的应答,我不明白“第二台从机收到“AAAA”后好像发生了异常。”是怎么回事?
你应该每次发送完就清空从机的接收缓冲区,以免把上次的信息当成本次的信息

首先,感谢您的回复

对对!就是这个!我也觉得问题出在我没清从机,但我刚接触不知道怎么清,能赐教么?谢谢

我使用DMA接收,虽然中断里我关了DMA,但好像还是会从UART缓存进来垃圾,从而被当做第二次的数据。

请问我是不是该在中断里也关闭UART呢?还是只要清UART缓存就行了,请问函数是什么呢?

一周热门 更多>