牛卧堂MCU技术交流

标题: 请问怎么设置NUC123串口超时中断? [打印本页]

作者: bsp0321    时间: 2018-7-25 08:00
标题: 请问怎么设置NUC123串口超时中断?
我设置串口如下

void UART0_Init()
{
    /*---------------------------------------------------------------------------------------------------------*/
    /* Init UART                                                                                               */
    /*---------------------------------------------------------------------------------------------------------*/
    /* Reset UART0 module */
    SYS_ResetModule(UART0_RST);

    /* Configure UART0 and set UART0 Baudrate */
    UART_Open(UART0,9600);
    UART0->TOR = (UART0->TOR & ~UART_TOR_DLY_Msk) | (200<<UART_TOR_DLY_Pos);
    UART_EnableInt(UART0,UART_IER_RDA_IEN_Msk|UART_IER_RTO_IEN_Msk);
   
    NVIC_EnableIRQ(UART0_IRQn);
}
我发现接收数据能进中断,不发数据了应该能进一次超时中断,然后进不了超时中断,
寄存器数据如下

请大侠帮个忙指点一下,不胜感激



作者: bsp0321    时间: 2018-7-25 08:11
我把Timeout中断也打开也不起作用   
UART_EnableInt(UART0,UART_IER_RDA_IEN_Msk|UART_IER_RTO_IEN_Msk|UART_IER_TIME_OUT_EN_Msk);
请大侠帮个忙指点一下,不胜感激
作者: jamesliu    时间: 2018-7-25 12:52
FSR接收FIFO的bit14显示接收FIFO是空的,根本没有数据怎么会有Timeout发生呢。Timeout是在FIFO中有数据并且没有达到FCR(7:4)的阈值才会产生
作者: bsp0321    时间: 2018-7-27 15:17
不好意思,回复的晚了,我看看,也就是说必须使能FIFO才接收超时才会起作用对吧





欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2