【CH32】| 外设——USART | 串口中断只能进一次

失败了也挺可爱,成功了就超帅。

文章目录

  • 前言
  • 解决方法
  • 原因分析

前言

CH307/CH其他系列MCU 串口中断只能进一次的解决方法。

解决方法

声明中断服务函数

// 选择一个即可
void xxxx_IRQHandler(void) attribute((interrupt(“WCH-Interrupt-fast”)))void xxxx_IRQHandler(void) attribute((interrupt()))

原因分析

官方论坛针对该问题的解答
图取自官方论坛 感谢分享
【CH32】| 外设——USART | 串口中断只能进一次_第1张图片
意思就是
不添加 interrupt 关键字的话 程序执行完一次中断后 不会返回
添加interrupt关键字后 会返回正常程序执行 也就是中断的正确执行方式啦
本质可能和架构有关 RISV-V和ARM 这就需要详细看看啦。

你可能感兴趣的:(单片机MCU,#,CH32,#,RISC-V,CH32,串口,中断)