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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. YTM32B1HA0芯片uart不进中断

YTM32B1HA0芯片uart不进中断

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

    另外超时中断是在MCU 收到任意数据后才会开启,说明 MCU 压根没收到数据,可以看一下你的波特率配置的有没有问题

    1 条回复 最后回复
    1
    • uangfeinengU 离线
      uangfeinengU 离线
      uangfeineng
      编写于 最后由 编辑
      #8

      初始化函数
      image.png
      中断回调函数
      image.png
      image.png

      uart引脚上都能抓到波形,MCU发送的数据和从机ACK的数据没有问题,所以波特率不会有问题的

      1 条回复 最后回复
      0
      • DigaD 离线
        DigaD 离线
        Diga
        编写于 最后由 编辑
        #9

        拉个会简单看一下?

        1 条回复 最后回复
        0
        • uangfeinengU 离线
          uangfeinengU 离线
          uangfeineng
          编写于 最后由 编辑
          #10

          会议链接: https://work.weixin.qq.com/webapp/tm/4sjNxaXVZebjQl5hKgtmN9
          #会议号: 106-286-802

          1 条回复 最后回复
          0
          • DigaD 离线
            DigaD 离线
            Diga
            编写于 最后由 编辑
            #11

            大概问题确认了,LINFlexD 在 2Mbps 情况下,如果 TX 使用DMA 发送,RX 使用 中断接收,可能没法做到全双工传输,接收数据可能会来不及读取,产生 overrun 事件。

            建议都用 DMA 进行传输,即发送用 DMA,接收也用 DMA。同时当前 SDK 不支持用 DMA 传输模式时,接收不定长数据。

            下方代码仅提供参考,可以通过 UART Start 位检测来判断接收数据开始,并且开启 Timeout 超时

            linflexd_uart_driver.zip

            uangfeinengU 1 条回复 最后回复
            0
            • uangfeinengU 离线
              uangfeinengU 离线
              uangfeineng
              编写于 最后由 编辑
              #12

              “通过 UART Start 位检测来判断接收数据开始,并且开启 Timeout 超时”,这个方案有参考demo?

              1 条回复 最后回复
              0
              • uangfeinengU 离线
                uangfeinengU 离线
                uangfeineng
                回复了Diga 最后由 编辑
                #13

                Diga “linflexd_uart_driver.zip”这个代码替换原有代码编译不过,怎么修改?
                39e1a1ba-77c6-4413-a3f8-faa9b2b20bd1-image.png
                616841d3-43bc-4ffc-b974-2943a1104da5-image.png

                1 条回复 最后回复
                0
                • DigaD 离线
                  DigaD 离线
                  Diga
                  编写于 最后由 编辑
                  #14

                  加一个 enum 定义

                  #if (FEATURE_LINFlexD_HAS_STA_IRQ)
                  LINFlexD_UART_RECEIVE_EDGE_DETECTION_FLAG = LINFlexD_UARTSR_SDF_MASK,
                  #endif /* FEATURE_LINFlexD_HAS_STA_IRQ */

                  image.png

                  uangfeinengU 2 条回复 最后回复
                  0
                  • uangfeinengU 离线
                    uangfeinengU 离线
                    uangfeineng
                    回复了Diga 最后由 编辑
                    #15
                    此主題已被删除!
                    1 条回复 最后回复
                    0
                    • uangfeinengU 离线
                      uangfeinengU 离线
                      uangfeineng
                      回复了Diga 最后由 编辑
                      #16

                      Diga DMA不定长接收的超时时间也是和中断的方式一样么?也是按uart位时间计算的么?初始化代码如下:
                      e201ece5-a02b-417d-8329-9695971e3166-image.png

                      1 条回复 最后回复
                      0
                      • DigaD 离线
                        DigaD 离线
                        Diga
                        编写于 最后由 编辑
                        #17

                        配置仍沿用之前的,只是之前的代码,在启用 DMA 进行 RX 接收时,无法开启超时,也就无法识别帧结束。现在通过 start 位来判断开始接收,也就可以正常开启超时

                        1 条回复 最后回复
                        0

                      • 云途开发生态介绍

                        快速上手云途开发生态

                      • 云途论坛规则/Yuntu Forum Rules

                        发帖前请查看

                      • YT CONFIG TOOL调查问卷

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

                      • demo
                        19
                        can
                        18
                        uds
                        11
                        lin stack
                        7
                        fbl
                        5
                        yt-link
                        5
                        md14
                        4
                        adc模块
                        3
                        Online Users
                        YQHY
                        YQH
                        tuanduongT
                        tuanduong
                        爪云爪
                        爪云
                        FrankieF
                        Frankie
                        AdalovelaceA
                        Adalovelace
                        gaoShengG
                        gaoSheng
                        xianghanX
                        xianghan
                        CITOS119C
                        CITOS119
                        • 登录

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