①启用接收中断时,加一个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寄存器已经清除了。
①启用接收中断时,加一个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寄存器已经清除了。
举报