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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. YTM32B1ME05 SPI 做从机不触发中断回调

YTM32B1ME05 SPI 做从机不触发中断回调

已定时 已固定 已锁定 已移动 YTM32B1M系列
25 帖子 3 发布者 535 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • WangPeiyingW 离线
    WangPeiyingW 离线
    WangPeiying
    在 回复了 Frank 最后由 WangPeiying 编辑
    #13

    麻烦看下,SPI时钟给的40M。115448ad-496d-46ce-9083-72e8022368e7-image.png f7fa35db-92e6-42f4-9e83-15ed821f63ef-image.png0326d6c0-46f3-4d05-a6a8-54d91ad72b60-image.png a6dd8077-2219-40bc-a342-89a67982206d-image.png

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

      感觉跟信号质量有一定关系,用示波器抓波形看下

      WangPeiyingW 1 条回复 最后回复
      0
      • WangPeiyingW 离线
        WangPeiyingW 离线
        WangPeiying
        在 回复了 Frank 最后由 编辑
        #15

        Frank 不是时序或者配置哪里有问题吗?因为APP是可以的,所以没用示波器抓,用逻辑分析仪抓了波形,在接收的时候,发送buff里面填的是0x00,但是看波形出现了1个字节的0xFF。

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

          APP能正常使用,然后Boot跟APP使用相同的配置的话,说明你的配置没有问题。最大可能是Boot的一些应用在某些状态下影响到了SPI信号,导致信号失真。你可以试着逐渐降低下通信速率,找出出现该问题时通信速率的临界点。然后再结合你的应用来分析最可能影响SPI通信的因素是那个,再逐一排查。

          WangPeiyingW 1 条回复 最后回复
          0
          • WangPeiyingW 离线
            WangPeiyingW 离线
            WangPeiying
            在 回复了 Frank 最后由 编辑
            #17

            Frank 我测试在接收后加 while (Spi_GetSequenceResult( SpiConf_SpiSequence_Spi2SlaveSequence_1) != SPI_SEQ_OK); 可以正常接收,不卡就会出现失败。我仿真查看了不卡的后续运行,在while循环里,有些状态的检查和判断,没有其它的操作。有什么可能有影响吗?

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

              加while等待Sequence完成,会block MCU不去执行其他的任务。你看下应用在执行过程中有修改port或gpio的操作吗。另外着重检查SPI master和slave之间通信线路上的电路状态是否有其他任务去改变或影响到。

              WangPeiyingW 1 条回复 最后回复
              0
              • WangPeiyingW 离线
                WangPeiyingW 离线
                WangPeiying
                在 回复了 Frank 最后由 编辑
                #19

                Frank 检查了下,没有port的操作,只有if else ,switch 这些状态的判断。我是在GPIO中断里使用 Spi_AsyncTransmit 函数,这个会有影响吗?

                1 条回复 最后回复
                0
                • xianghanX 离线
                  xianghanX 离线
                  xianghan YunTu
                  写于 最后由 编辑
                  #20

                  有影响,不要在中断服务函数里面直接调用

                  WangPeiyingW 2 条回复 最后回复
                  0
                  • WangPeiyingW 离线
                    WangPeiyingW 离线
                    WangPeiying
                    在 回复了 xianghan 最后由 编辑
                    #21

                    xianghan IWDG没有初始化,在while循环中连续调用 Wdg_180_Inst0_Service 函数会影响SPI 接收吗?初始化IWDG就可以,还是不能这么操作?

                    1 条回复 最后回复
                    0
                    • xianghanX 离线
                      xianghanX 离线
                      xianghan YunTu
                      写于 最后由 编辑
                      #22

                      喂狗不影响SPI通信,一般使用GPT定时周期喂狗,或者在任务调度里面Wdg_180_Inst0_Service手动喂狗。通常不在while死循环喂。

                      WangPeiyingW 1 条回复 最后回复
                      0
                      • WangPeiyingW 离线
                        WangPeiyingW 离线
                        WangPeiying
                        在 回复了 xianghan 最后由 编辑
                        #23

                        xianghan 那在死循环里面喂狗为什么会影响SPI通讯,目前看来是影响了DMA 通道1的传输,DMA通道0的传输没有受影响。

                        1 条回复 最后回复
                        0
                        • WangPeiyingW 离线
                          WangPeiyingW 离线
                          WangPeiying
                          在 回复了 xianghan 最后由 编辑
                          #24

                          xianghan 在 YTM32B1ME05 SPI 做从机不触发中断回调 中说:

                          有影响,不要在中断服务函数里面直接调用
                          xianghan 是硬件上不支持这么操作吗?还是担心有影响效率或中断嵌套引出来问题?

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

                            WangPeiying 硬件不会有限制,但是软件使用不当会导致功能异常。嵌入式软件应该避免你现在的使用方式。

                            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
                            • 版块
                            • 最新
                            • 标签
                            • 热门