完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
情景是这样的,STM32串口使用中断接收数据,但是外部中断优先级高于串口中断,当串口正接收数据时(还没接收完),被外部中断所中断,并且是持续的多次长时间的外部中断,也就是说很长一段时间是会响应外部中断而不会处理串口接收中断,,这样的情况会导致串口接收数据异常么,比如说接收数据不完整之类的问题?
|
|
相关推荐
7个回答
|
|
|
注意抢占式优先级和响应优先级
|
|
|
|
|
|
当然会导致串口数据混乱;
这里需要说一点, 中断中不适合做大量操作,其只是响应中断后将数据运算放到主函数中处理,中断中只是置标志,读取数据而已。 否则你的代码肯定不稳定。 |
|
|
|
|
|
会的,可以用dma 来接收
|
|
|
|
|
|
应该会丢掉数据.
|
|
|
|
|
|
肯定会导致数据丢失、错乱,这种情况下不适合串口通讯,建议考虑4楼的提议,直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。节省了CPU的资源来做其他操作。
|
|
|
|
|
|
应该不影响硬件接收到一个字节的数据,但是如果程序不能及时响应中断可能造成接收到的数据来不急不取走而覆盖,造成数据丢失的想象。
|
|
|
|
|
|
肯定会的啊,外部中断程序中不要有太多的程序。这样会影响中断响应效率的
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
919 浏览 0 评论
797 浏览 0 评论
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
4560 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
3369 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2672 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 00:58 , Processed in 0.843123 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1603