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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. SPI总是进入中断问题

SPI总是进入中断问题

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

    可能是因为某次打断时间较长,SPI 没来得及读取接收 FIFO 内的数据,导致FIFO内数据上溢,产生 overflow 错误。
    如果task 较多,可以用 DMA 的方式去搬运数据,这样就不会受到影响

    z1009591161Z 1 条回复 最后回复
    0
    • z1009591161Z 离线
      z1009591161Z 离线
      z1009591161
      在 回复了 Diga 最后由 编辑
      #3

      Diga 这个overflow可以清除吗?还是底驱时间不够

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

        可以清除,但此次 SPI 通信已经失败了,已经有接收数据被丢弃了,而且下次再被长时间打断,还是会产生 overflow

        z1009591161Z 1 条回复 最后回复
        0
        • z1009591161Z 离线
          z1009591161Z 离线
          z1009591161
          在 回复了 Diga 最后由 编辑
          #5

          Diga 丢数据没关系,清除的接口是哪个?9589c2535953f91e64ff6746d383111.jpg
          是这个吗

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

            更正一下,SDK 中断内部是有对错误进行处理的,接收上溢或者发送下溢都会终止当前 SPI 传输。
            你可以看一下一直进中断,进的是什么中断,当前状态寄存器是什么

            z1009591161Z gaoShengG 3 条回复 最后回复
            0
            • z1009591161Z 离线
              z1009591161Z 离线
              z1009591161
              在 回复了 Diga 最后由 编辑
              #7

              Diga 43689aa186471bf283fb48aebbfd1b9.jpg
              反复进这里

              1 条回复 最后回复
              0
              • z1009591161Z 离线
                z1009591161Z 离线
                z1009591161
                在 回复了 Diga 最后由 编辑
                #8

                Diga b211bb570b045da4bacb4a126c3a90b.jpg
                然后进这里,这里所有的if全部没进,直接出来的,也就是说进一次中断什么都没处理

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

                  看一下状态寄存器,SPI->STS

                  1 条回复 最后回复
                  0
                  • gaoShengG 离线
                    gaoShengG 离线
                    gaoSheng
                    回复了Diga 最后由 编辑
                    #10

                    Diga 您好,HA系列测试SPI时偶发出现从SPI->STS寄存器来看TX FIFO下溢标志位被置,但是无法进SPI TRANSMIT ERROR的处理的 if 。spiState->txBuff == 0x00.并且会一直进中断.
                    61de9b54-9b72-4634-b302-829dbdc5aa22-ba820524002d54b53f3915628b59034.png

                    请问有什么排查思路没

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

                      把 debug 窗口关了,你的 debug 窗口也会读取 DATA 里的数据的

                      1 条回复 最后回复
                      1

                    • 云途论坛规则/Yuntu Forum Rules

                      发帖前请查看

                    • YCT离线License申请流程

                      帮助没办法联网的电脑使用YCT

                    • YT CONFIG TOOL调查问卷

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

                    • demo
                      11
                      can
                      8
                      lin stack
                      5
                      yt-link
                      5
                      vscode
                      3
                      adc模块
                      2
                      i2c
                      2
                      uuid
                      2
                      Online Users
                      • 登录

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