WCH沁恒单片机
直播中

康辅佑

7年用户 952经验值
擅长:控制/MCU
私信 关注
[问答]

请问CH582M的串口中断服务函数要怎么才能触发?

CH582M的串口中断服务函数要怎么才能触发?


回帖(2)

李晟才

2022-9-19 15:19:10
使能中断的情况下,先向R8_UART1_THR或者说发送fifo中填充一组数据,这组数据发完后会进uart中断“发送缓存空”的case
举报

毛春华

2022-9-19 15:19:22
①启用接收中断时,加一个RB_IER_THR_EMPTY以启用发送中断,如下这样写;
UART1_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_LINE_STAT | RB_IER_THR_EMPTY);
②在其他地方比如说主函数中主动往R8_UART1_THR中填写一个数据,发送出去后会产生发送缓存区空中断,进UART中断服务函数下的UART_II_THR_EMPTY这个case;
③在这个case中再逐个字节填入R8_UART1_THR,直到判断所有数据都发完就不再填充数据。
发送中断标志在进入中断服务函数switch(UART1_GetITFlag())这里,读IIR寄存器已经清除了。
举报

更多回帖

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