找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] 请问怎么设置NUC123串口超时中断?

[复制链接]
跳转到指定楼层
楼主
bsp0321 发表于 2018-7-25 08:00:57 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
我设置串口如下

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);
}
我发现接收数据能进中断,不发数据了应该能进一次超时中断,然后进不了超时中断,
寄存器数据如下

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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

地板
 楼主| bsp0321 发表于 2018-7-27 15:17:30 | 只看该作者
不好意思,回复的晚了,我看看,也就是说必须使能FIFO才接收超时才会起作用对吧
回复 支持 反对

使用道具 举报

板凳
jamesliu 发表于 2018-7-25 12:52:47 | 只看该作者
FSR接收FIFO的bit14显示接收FIFO是空的,根本没有数据怎么会有Timeout发生呢。Timeout是在FIFO中有数据并且没有达到FCR(7:4)的阈值才会产生
回复 支持 反对

使用道具 举报

沙发
 楼主| bsp0321 发表于 2018-7-25 08:11:51 | 只看该作者
我把Timeout中断也打开也不起作用   
UART_EnableInt(UART0,UART_IER_RDA_IEN_Msk|UART_IER_RTO_IEN_Msk|UART_IER_TIME_OUT_EN_Msk);
请大侠帮个忙指点一下,不胜感激
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU