本文主要是介绍【CH32】| 外设——USART | 串口中断只能进一次,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
失败了也挺可爱,成功了就超帅。 |
文章目录
- 前言
- 解决方法
- 原因分析
前言
CH307/CH其他系列MCU 串口中断只能进一次的解决方法。
解决方法
声明中断服务函数
// 选择一个即可
void xxxx_IRQHandler(void) attribute((interrupt(“WCH-Interrupt-fast”)));
void xxxx_IRQHandler(void) attribute((interrupt()));
原因分析
官方论坛针对该问题的解答
图取自官方论坛 感谢分享
意思就是
不添加 interrupt 关键字的话 程序执行完一次中断后 不会返回
添加interrupt关键字后 会返回正常程序执行 也就是中断的正确执行方式啦
本质可能和架构有关 RISV-V和ARM 这就需要详细看看啦。
这篇关于【CH32】| 外设——USART | 串口中断只能进一次的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!