找回密码
 立即注册
查看: 230|回复: 1

串口1无法触发接收超时中断

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-05-01 10:06:01

44

主题

124

回帖

1437

积分

金牌会员

积分
1437
发表于 2025-1-24 00:08:18 | 显示全部楼层 |阅读模式

实验环境

mcu: 8051U

实验目的

串口1用DMA功能接收数据,同时使能串口1的接收超时功能。确认超时发生后,再对UART1的DMA接收缓冲区进行读操作。

问题描述

能触发串口1的DMA中断(达到指定的数量),但是无法进入串口1的超时中断

串口1接收超时中断配置和中断响应函数如下:

UR1RTOCONF:
    CLR     UR1RTO
    /*
    enable UART1 receive tomeout func
    enable UART1 receive timeout interrupt
    */
    MOV     A, #0E0H
    MOVH    DR28, #WORD2 UR1TOCR
    MOV     WR30, #WORD0 UR1TOCR
    MOV     @DR28, R11
    ; clean UART1 receive timeout flag
    MOVH    DR28, #WORD2 UR1TOSR
    MOV     WR30, #WORD0 UR1TOSR
    MOV     R11, @DR28
    ORL     A, #80H
    MOV     @DR28, R11
    ; set timeout time: 5ms
    MOV     A, #BYTE2(12 * 1000 * 5)
    MOVH    DR28, #WORD2 UR1TOTE
    MOV     WR30, #WORD0 UR1TOTE
    MOV     @DR28, R11
  
    MOV     A, #HIGH(12 * 1000 * 5)
    MOVH    DR28, #WORD2 UR1TOTH
    MOV     WR30, #WORD0 UR1TOTH
    MOV     @DR28, R11
    INC     DR28, #1D
    MOV     A, #LOW(12 * 1000 * 5)
    MOV     @DR28, R11
    RET

串口1中断响应:

UART1ISR:
    PUSH    ACC
    PUSH    DR28
  
    JB      RI, HANDLERI
    JB      TI, HANDLETI
  
    MOV     A, #'1'
    CALL    UART4SENDBYTE
    MOVH    DR28, #WORD2 UR1TOSR
    MOV     WR30, #WORD0 UR1TOSR
    MOV     R11, @DR28
    JB      ACC.0, HANDLEUR1RTO
    JMP     UART1ISREND
    HANDLERI:
        CLR     RI
        JMP     UART1ISREND
    HANDLETI:
        CLR     TI
        JMP     UART1ISREND
    HANDLEUR1RTO:
        ; clean UART1 receive timeout flag
        MOVH    DR28, #WORD2 UR1TOSR
        MOV     WR30, #WORD0 UR1TOSR
        MOV     R11, @DR28
        ORL     A, #80H
        MOV     @DR28, R11
        SETB    UR1RTO
    UART1ISREND:
        POP     DR28
        POP     ACC
        RETI
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-05-01 10:06:01

44

主题

124

回帖

1437

积分

金牌会员

积分
1437
发表于 2025-1-24 10:19:46 | 显示全部楼层
搞清楚了,原来是给超时计数器赋值有顺序
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:38 , Processed in 0.240000 second(s), 53 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表