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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT MCAL
  4. ME0的SPI作为从机,接收数据出现异常

ME0的SPI作为从机,接收数据出现异常

已定时 已固定 已锁定 已移动 YT MCAL
12 帖子 2 发布者 340 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • EkkoE 离线
    EkkoE 离线
    Ekko
    在 回复了 Frank 最后由 编辑
    #3

    Frank 能确定是主机拉高

    1 条回复 最后回复
    0
    • EkkoE 离线
      EkkoE 离线
      Ekko
      在 回复了 Frank 最后由 编辑
      #4

      Frank 假设这种情况无法避免,那么从机如何从异常中恢复呢,能确保下一次能正常通信

      FrankF 1 条回复 最后回复
      0
      • FrankF 离线
        FrankF 离线
        Frank YunTu
        在 回复了 Ekko 最后由 编辑
        #5

        Ekko 如果能够保证master发送的数据数量跟slave需要接收的数量一致就可以(中间master即使pcs拉高也OK)。因为DMA会一直等待搬移的数据直到完成。因此不需要slave做额外的事情。

        EkkoE 2 条回复 最后回复
        0
        • EkkoE 离线
          EkkoE 离线
          Ekko
          在 回复了 Frank 最后由 编辑
          #6

          Frank 好的 感谢回复

          1 条回复 最后回复
          0
          • EkkoE 离线
            EkkoE 离线
            Ekko
            在 回复了 Frank 最后由 编辑
            #7

            Frank 这种自恢复的需要取决master保证数据完整,客户担心master出现一次数据不完整后,后续取到的数据都会错位,所以还是需要一个手动恢复的策略,现在有调用Spi_Cancel(),但是会偶发出现hard fault(DMA传输过程中,关掉DMA会导致hard fault?),所以有更加简洁高效的方式吗?

            FrankF 1 条回复 最后回复
            0
            • FrankF 离线
              FrankF 离线
              Frank YunTu
              在 回复了 Ekko 最后由 编辑
              #8

              Ekko 调用Spi_Cancel关闭传输不会导致导致Hardfault。你可以在hardfault出现时,看下是什么原因导致的hardfault。

              EkkoE 1 条回复 最后回复
              0
              • EkkoE 离线
                EkkoE 离线
                Ekko
                在 回复了 Frank 最后由 编辑
                #9

                Frank 现在查看堆栈,最后是从Disable DMA跳至hard fault,查看DMA寄存器并没有错误标志位。现在明确就是加了Spi_Cancel,就会出现hard fault,不加是不会出现的。
                a7e873b6-3aa9-4076-984a-dc1f34faf779-77469c1ed71c03f0b9eda6c1631a08d.jpg
                47354b50-0728-46f1-aa73-9aee9c3fb965-8bfa93ce08d4633527decb782927abc.jpg
                17dda825-180e-45d0-ac68-f8af9aa990e1-a54112abd7ba573e406d66c22cd60c2.jpg

                1 条回复 最后回复
                0
                • FrankF 离线
                  FrankF 离线
                  Frank YunTu
                  写于 最后由 编辑
                  #10

                  image.png
                  看样子是发生非法地址访问了。你用的是那个版本的驱动?

                  1 条回复 最后回复
                  0
                  • FrankF 离线
                    FrankF 离线
                    Frank YunTu
                    写于 最后由 编辑
                    #11

                    jianpeng.zhao@ytmicro.com 这是我的邮箱,如果方便的话,你可以发个腾讯会议的链接,我远程帮你看下

                    EkkoE 1 条回复 最后回复
                    0
                    • EkkoE 离线
                      EkkoE 离线
                      Ekko
                      在 回复了 Frank 最后由 编辑
                      #12

                      Frank 目前又修改了中断优先级,还在挂测,如果还复现我再邮件发送🤝

                      1 条回复 最后回复
                      0

                    • 云途论坛规则/Yuntu Forum Rules

                      发帖前请查看

                    • YCT离线License申请流程

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

                    • YT CONFIG TOOL调查问卷

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

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

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