完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
项目中采用串口接收中断来接收来自迪文屏发送的消息。在测试中发现如果不停的点击屏幕,那么就会出现主机“死机卡壳”的现象,通过Debug调试发现,实际上主机程序并没有跑飞,而是总是进入串口接收中断从而卡死了主线程的原因导致的。
然而此时并没有点击屏幕,为什么还会不停的进入串口中断? 查阅相关资料,原因如下: RXNEIE设置为1的意思是打开了串口接收中断,打那么过载错误中断也会同时打开。 如何解决: 通过上面的叙述可以知道当发生溢出中断时,需要明确以下几点: 1、肯定有数据丢失了。 2、消除溢出中断的方法需要顺序执行对SR和DR寄存器的读取操作。 以上的总结也是参考了其他博客总结的,链接如下: https://blog.csdn.net/dearwind153/article/details/30601813 本人发现采用消除溢出中断标识位的方法,虽然可以解决串口接收中断卡死主线程的问题,但是仍然满足不了,项目对通信的需求,因此直接采用了串口接收中断+DMA的方式解决串口接收数据时溢出的问题,测试可行。 |
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
407 浏览 1 评论
262 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
230 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
602 浏览 2 评论
627 浏览 2 评论
1345浏览 9评论
STM32F429 U盘IAP升级程序跳转APP异常的原因?
26浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
23浏览 3评论
STM32F103时钟硬件程序会卡在“while((SPI3->SR SPI_I2S_FLAG_RXNE) == (uint16_t)RESET);”导致异常复位的原因?
119浏览 3评论
21浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-23 21:14 , Processed in 0.867203 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号