WCH沁恒单片机
直播中

h1654155275.5753

7年用户 1100经验值
私信 关注
[问答]

请问ch32v307串口空闲中断只能触发一次吗?

如题,目前在使用串口空闲中断时发现一个问题,空闲中断只能触发一次,把串口的状态寄存器打印出来看发现IDLE位置高了,但是也没有再次触发中断,以下是程序以及串口打印出来的数据(图一是给串口2发送的数据,让其触发中断),最开始的状态寄存器是192,接收到数据后变成了248触发IDLE中断,在中断服务程序中清除了中断标志位后再次变为192,再次接收数据变成248后却不再进入中断。希望有空能够解答一下,谢谢




希望有空能够解答一下。 谢谢

回帖(3)

洪欣意

2022-7-18 10:19:52
您好,对应中断函数注意加一下中断声明,参考下图。
举报

李雪萧

2022-7-18 10:19:56
谢谢,已成功
还想询问一下加这个 _attribute_((interrupt("WCH-Interrupt-fast")))有什么作用?
在使用freertos中发现加这个也还是会进入hard-fault中 但是加 _attribute_((interrupt()))就正常了,想询问一下这两个的区别是什么?
举报

李宸如

2022-7-18 10:20:01
您好,这两个声明分别对应硬件压栈和软件压栈,关于对此的具体说明,可参考下面链接手册
QingKeV4微处理器手册:https://www.wch.cn/downloads/QingKeV4_Processor_Manual_PDF.html
举报

更多回帖

发帖
×
20
完善资料,
赚取积分