跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1L系列
  4. UART使用non-blocking接收时会导致进入DefaultISR中断

UART使用non-blocking接收时会导致进入DefaultISR中断

已定时 已固定 已锁定 已移动 未解决 YTM32B1L系列
3 帖子 2 发布者 86 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • fzh0907F 离线
    fzh0907F 离线
    fzh0907
    编写于 最后由 编辑
    #1

    54f51b3c-61e4-478a-a312-f4959d7efa7e-image.png
    SDK版本用的是1.3.1,该代码每5ms运行一次,如果不加 UART_DRV_AbortReceivingData(INST_UART);这一句的话就会导致进入DefaultISR中断,为什么呢?SDK是否有问题?

    1 条回复 最后回复
    0
    • xianghanX 离线
      xianghanX 离线
      xianghan YunTu
      编写于 最后由 编辑
      #2

      所以你每 5 ms 反复调用时,如果上一次还没接收完成,不加 AbortReceivingData() 就会一直处于接收 BUSY 状态,并且 RX 中断保持打开。一旦 UART 收到数据、溢出、帧错误、噪声错误,CPU 就会进 UART 中断。

      如果此时中断向量没有正确挂到 UART driver 的 ISR,就会进 DefaultISR。

      1 条回复 最后回复
      0
      • fzh0907F 离线
        fzh0907F 离线
        fzh0907
        编写于 最后由 编辑
        #3

        具体发送数据我这边通信速率是1M,而且每5ms会执行两条函数四五次,并且其他函数也有可能会在其他时刻调用这两句,会不会因为速率太快而且总线复杂导致接收数据的时候因为实际rxSize设置为8,但是会出现超出size的接收,导致rxBuff溢出,导致进入DefaultISR。

        1 条回复 最后回复
        0

      • 云途开发生态介绍

        快速上手云途开发生态

      • 云途论坛规则/Yuntu Forum Rules

        发帖前请查看

      • YT CONFIG TOOL调查问卷

        帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

      • can
        25
        demo
        23
        lin stack
        13
        uds
        13
        md14
        6
        yt-link
        6
        fbl
        5
        adc模块
        4
        Online Users
        • 登录

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 最新
        • 标签
        • 热门