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

YunTu Forum

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

SPI总是进入中断问题

已定时 已固定 已锁定 已移动 YTM32B1M系列
11 帖子 3 发布者 400 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Z 离线
    Z 离线
    z1009591161
    写于2024年11月28日 02:53 最后由 编辑
    #1

    3ed7d7a96997c671e51f3ba4a5eb0ea.jpg
    这两个接口中间是不是不能被打断?
    运行的时候,无论是在它们中间打断点,还是用线程去打断它,mcu都会一直循环进spi中断,有点像某个导致中断的标志位没有被清。
    这个spi这个任务优先级不高,运行一段时间后恰好被高级任务从这两接口之间抢段,mcu就死机了,一直进spi中断。
    试过加调度器临界保护,结果这个现象还是会出现,不知道是不是有其他原因也会造成这个问题

    1 条回复 最后回复
    0
    • D 离线
      D 离线
      Diga
      写于2024年11月28日 05:34 最后由 编辑
      #2

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

      Z 1 条回复 最后回复 2024年11月28日 05:41
      0
      • Z 离线
        Z 离线
        z1009591161
        在 2024年11月28日 05:41 回复了 Diga 最后由 编辑
        #3

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

        1 条回复 最后回复
        0
        • D 离线
          D 离线
          Diga
          写于2024年11月28日 05:44 最后由 编辑
          #4

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

          Z 1 条回复 最后回复 2024年11月28日 05:48
          0
          • Z 离线
            Z 离线
            z1009591161
            在 2024年11月28日 05:48 回复了 Diga 最后由 编辑
            #5

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

            1 条回复 最后回复
            0
            • D 离线
              D 离线
              Diga
              写于2024年11月28日 05:58 最后由 编辑
              #6

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

              Z G 3 条回复 最后回复 2024年11月28日 06:10
              0
              • Z 离线
                Z 离线
                z1009591161
                在 2024年11月28日 06:10 回复了 Diga 最后由 编辑
                #7

                Diga 43689aa186471bf283fb48aebbfd1b9.jpg
                反复进这里

                1 条回复 最后回复
                0
                • Z 离线
                  Z 离线
                  z1009591161
                  在 2024年11月28日 06:13 回复了 Diga 最后由 编辑
                  #8

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

                  1 条回复 最后回复
                  0
                  • D 离线
                    D 离线
                    Diga
                    写于2024年11月28日 06:17 最后由 编辑
                    #9

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

                    1 条回复 最后回复
                    0
                    • G 离线
                      G 离线
                      gaoSheng
                      在 2025年4月21日 09:13 回复了 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
                      • D 离线
                        D 离线
                        Diga
                        写于2025年4月21日 10:39 最后由 Diga 编辑 2025年4月21日 18:52
                        #11

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

                        1 条回复 最后回复
                        1

                      • 云途论坛规则/Yuntu Forum Rules

                        发帖前请查看

                      • YCT离线License申请流程

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

                      • YT CONFIG TOOL调查问卷

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

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

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