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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT SDK
  4. SPI_Master_Demo程序卡在状态判断里面

SPI_Master_Demo程序卡在状态判断里面

已定时 已固定 已锁定 已移动 已解决 YT SDK
12 帖子 4 发布者 237 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 吴超群吴 离线
    吴超群吴 离线
    吴超群
    写于 最后由 编辑
    #1

    2047b53b-481e-46a8-8058-22ea7c6cf3bf-image.png
    问题描述:Demo板没有接任何外设,SPI_Master_Demo程序运行后卡在while (STATUS_SUCCESS != SPI_DRV_MasterGetTransferStatus(4, NULL))状态判断里面

    解决办法:SPI的SCK引脚不能有任何接地和接VDD的行为,因为SCK引脚在发波的过程中会检测其输入的信号,如果发现发出去的电平和读回来的电平不相等会一直处于等待状态;

    1 条回复 最后回复
    0
    • majorM 离线
      majorM 离线
      major
      写于 最后由 编辑
      #2

      SPI默认会用发出的SCK回读进行数据采样,如果SCK被意外Tie0或者1,或者没有分配对应的引脚,以及分配了多个引脚都会出现上述状态,这个属于硬件异常。

      1 条回复 最后回复
      0
      • majorM major 将这个主题转为问答主题,在
      • majorM major 将这个主题标记为已解决,在
      • FrankieF Frankie 从 中的 SDK BUGS 移动了该主题
      • FrankieF Frankie 将这个主题标记为已解决,在
      • yt_liuqisenY 离线
        yt_liuqisenY 离线
        yt_liuqisen
        写于 最后由 编辑
        #3

        硬件异常,有没有什么好办法解决?这个问题是偶发问题,我司产品调试过程也出现了

        1 条回复 最后回复
        0
        • 吴超群吴 离线
          吴超群吴 离线
          吴超群
          写于 最后由 编辑
          #4

          具体问题是什么呢?

          1 条回复 最后回复
          0
          • yt_liuqisenY 离线
            yt_liuqisenY 离线
            yt_liuqisen
            写于 最后由 编辑
            #5

            和这个帖子一样的,问题,一直卡这个while循环里面出不来,实际上SPI数据已经发出来了

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

              检查硬件是没有问题,软件需要怎么解决

              1 条回复 最后回复
              0
              • 吴超群吴 离线
                吴超群吴 离线
                吴超群
                写于 最后由 编辑
                #7

                检查SPI 时钟线不要被外部硬件强拉低或者拉高

                yt_liuqisenY 1 条回复 最后回复
                0
                • yt_liuqisenY 离线
                  yt_liuqisenY 离线
                  yt_liuqisen
                  在 回复了 吴超群 最后由 编辑
                  #8

                  吴超群 检查了硬件没有问题,抓取了数据,实际SPI已经把这一个字节数据发送完成了,但是Busy一直不被清除掉;

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

                    可以在while里面加个超时判断,通过超时来报故障并且跳过死循环,这个是通用的一些做法。
                    image.png

                    yt_liuqisenY 1 条回复 最后回复
                    0
                    • yt_liuqisenY 离线
                      yt_liuqisenY 离线
                      yt_liuqisen
                      在 回复了 yt0069 最后由 编辑
                      #10

                      yt0069 现在就是用的,这种办法,但是存在一种风险,根因需要明晰一下,是因为硬件上下拉问题或芯片IO驱动问题,还是通讯速率问题;出现错误有些情况是不能被接受的;

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

                        另外经过测试,连续发送数据的概率还是相对比较高的,约10%几的概率,出现

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

                          可以示波器看一下spi通讯的波形,看看硬件上是否有做阻抗匹配,特别是告诉通讯的时候。如果是通讯线被短路到电源或短路到地的话就得从其他方面上来避免短路问题。

                          1 条回复 最后回复
                          0

                        • 云途论坛规则/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
                          • 版块
                          • 最新
                          • 标签
                          • 热门