单片机学习小组
直播中

三心四意

8年用户 804经验值
私信 关注

M051串口怎么清除发送中断标志?

麻烦各位大神 帮忙看看M051串口怎么清除发送中断标志,我看了数据手册没有找到。仿真例程时也没有清除标志。

回帖(1)

时见栖鸦

2024-1-17 18:34:56
M051 MCU的串口发送中断标志位是通过写入1来清除的。在发送中断服务函数中,可以将STSI位写为1来清除发送中断标志。

以下是M051串口发送中断服务函数的一个示例:

void UART0_IRQHandler(void)
{
    uint32_t u32IntSts = UART0->ISR;

    if (u32IntSts & UART_ISR_TX_END_INT_Msk)  //判断是否为发送中断
    {
        UART0->ISR = UART_ISR_TX_END_INT_Msk; //清除发送中断标志
        //其他操作 ...
    }
}

在该示例中,判断UART_ISR_TX_END_INT_Msk位是否为1,如果是则说明为发送中断。接着调用UART0->ISR = UART_ISR_TX_END_INT_Msk指令来清除中断标志位,并进行其他操作。
举报

更多回帖

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