yuxin-366840 发表于 2014-4-2 21:00:02

stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

 情景是这样的,stm32串口使用中断接收数据,但是外部中断优先级高于串口中断,当串口正接收数据时(还没接收完),被外部中断所中断,并且是持续的多次长时间的外部中断,也就是说很长一段时间是会响应外部中断而不会处理串口接收中断,,这样的情况会导致串口接收数据异常么,比如说接收数据不完整之类的问题?

灰小子-1888763 发表于 2014-4-2 21:40:45

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

注意抢占式优先级和响应优先级

wkuang 发表于 2014-4-2 23:24:03

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

当然会导致串口数据混乱;
这里需要说一点, 中断中不适合做大量操作,其只是响应中断后将数据运算放到主函数中处理,中断中只是置标志,读取数据而已。
否则你的代码肯定不稳定。

有缘于你 发表于 2014-4-3 08:07:11

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

会的,可以用dma 来接收

pythonworld 发表于 2014-4-3 14:18:16

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

应该会丢掉数据.:P

dlyt03 发表于 2014-4-3 15:06:00

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

肯定会导致数据丢失、错乱,这种情况下不适合串口通讯,建议考虑4楼的提议,直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。节省了CPU的资源来做其他操作。

story_xjj 发表于 2014-4-4 14:47:29

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

应该不影响硬件接收到一个字节的数据,但是如果程序不能及时响应中断可能造成接收到的数据来不急不取走而覆盖,造成数据丢失的想象。:D

feiante-155820 发表于 2014-4-12 22:30:26

RE:stm32串口中断接收数据被持续的外部中断会导致接收数据异常么

肯定会的啊,外部中断程序中不要有太多的程序。这样会影响中断响应效率的
页: [1]
查看完整版本: stm32串口中断接收数据被持续的外部中断会导致接收数据异常么