guoqiang0608 发表于 2016-2-25 10:14:59

STM32串口接收中断问题

如图中所示,采用这种接收中断模式,每收到一个字节后就产生一个中断,存到队列中进行处理。

问题来了:调试过程中,发了一串数据(8个字节),在中断内设置断点,第一个字节收到后进入中断,点击继续运行后,剩余的7个字节接收不能触发中断了,这是啥原因呢????

党国特派员 发表于 2016-2-25 10:23:39

这样子看不出来原因。

kxajd001 发表于 2016-2-25 11:08:40

最好是在中断中只做接收,不做处理。

kxajd001 发表于 2016-2-25 11:09:27

可以这样
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
                {       
                        USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
                        RxBuffer2=USART2->DR;
                        USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//´®¿Ú2½ÓÊÕÖжÏʹÄÜ               
                }
                if(RxCounter2==0xFF)
                RxCounter2=0;

发表于 2016-2-25 11:10:15

加断点以后会产生一个溢出错误,需要处理一下。尽量不要加断点。
我在测试过程中,多次因为断点导致后面的数据丢失,处理办法是清除标志或者重新初始化接收。

guoqiang0608 发表于 2016-2-25 12:48:40

安 发表于 2016-2-25 11:10
加断点以后会产生一个溢出错误,需要处理一下。尽量不要加断点。
我在测试过程中,多次因为断点导致后面的 ...

好像是这样的,多谢
页: [1]
查看完整版本: STM32串口接收中断问题