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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. PWM模式,捕获后能进中断,但读到的数据全为0.

PWM模式,捕获后能进中断,但读到的数据全为0.

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

    单边沿采集模式只能测量周期无法采集正脉宽和负脉宽
    image.png

    yuanjianY 1 条回复 最后回复
    0
    • yuanjianY 离线
      yuanjianY 离线
      yuanjian
      回复了WR 最后由 编辑
      #3

      WR b37990f8-a7d5-4f3a-8bfd-2bd9a279a101-image.png
      05d94d9a-2c6a-4f55-8460-438124235d10-image.png

      我读过周期,上图是读channel7的周期调试截图,state里有值,读出来仍是0.
      eb68b337-1a18-4790-90fc-01d2d0bf54db-image.png
      这是你们sdk的代码,我配置成单边模式,无论是neg还是pos都没置flag。而且代码中更新的也是单边的数据,没有更新周期。

      是我哪里配置的不对?

      1 条回复 最后回复
      0
      • WRW 离线
        WRW 离线
        WR YunTu
        编写于 最后由 编辑
        #4

        yct方便发一下吗,我测一下

        yuanjianY 2 条回复 最后回复
        0
        • yuanjianY 离线
          yuanjianY 离线
          yuanjian
          回复了WR 最后由 编辑
          #5

          WR project.yct

          1 条回复 最后回复
          0
          • yuanjianY 离线
            yuanjianY 离线
            yuanjian
            回复了WR 最后由 编辑
            #6

            WR 请问这个问题有结论吗?我这几天测试发现,我用单边捕捉的模式,中断时拉gpio,测试的时间宽度和输入比差别比较大,输入是36us,测试宽度在39-43之间,但前面我用pwm捕捉计算占空比又是对的,这说明是中断调用的问题,只要我能读到具体数据,就可规避。
            我测试了各种模式,只要是单边捕捉,都没有数据,请帮忙看一下,后面很多东西都进行不下去。

            1 条回复 最后回复
            0
            • WRW 离线
              WRW 离线
              WR YunTu
              编写于 最后由 编辑
              #7

              你们为啥要用单边沿捕获,为啥不用双边沿捕获啊

              yuanjianY 1 条回复 最后回复
              0
              • yuanjianY 离线
                yuanjianY 离线
                yuanjian
                回复了WR 最后由 编辑
                #8

                WR 我要用这个软件解析sent协议,sent协议是以下降沿为基础的通信标准协议。

                说到双边捕获,你们的双边捕获是怎么实现的?我调试时,每次中断都可以读到各个沿以及周期的宽度,这三个数据都是实时的吗?比如上次下降沿中断得到的周期a,下降宽度b,上升宽度c, a= b+c,这些是可以看到的。上升沿中断后,这时候经历一个新的下降宽度e,那读到的结果是周期是a-b+e,下降宽度e,上升宽度c。之后依次更新,可以做到这个吗?

                1 条回复 最后回复
                0
                • WRW 离线
                  WRW 离线
                  WR YunTu
                  编写于 最后由 编辑
                  #9

                  你说的这种情况只能用双边沿模式,按照你说的方式我们输入捕获采集的周期肯定与你们想要的周期不一样,你们需要的是上一次周期的正负脉宽和这次周期的正负脉宽来做计算,我们的驱动只能提供采集正负脉宽的宽度

                  yuanjianY 1 条回复 最后回复
                  0
                  • WRW 离线
                    WRW 离线
                    WR YunTu
                    编写于 最后由 编辑
                    #10

                    yuanjian 你们要是想要解析sent协议的话,md14是有sent功能的

                    1 条回复 最后回复
                    0
                    • yuanjianY 离线
                      yuanjianY 离线
                      yuanjian
                      回复了WR 最后由 编辑
                      #11

                      WR 我才用双边可以,前提是中断时数据更新是按照上面我说的方式,否则即便读到也没有意义。我可以先测试一下看看效果。

                      1 条回复 最后回复
                      0
                      • WRW 离线
                        WRW 离线
                        WR YunTu
                        编写于 最后由 编辑
                        #12

                        yuanjian 输入捕获他是正常的一个周期同时更新所有值,不是你说的一个一个的更新的,所以你需要去定义变量去存上一次周期的值,然后自己去换算你要的周期

                        yuanjianY 1 条回复 最后回复
                        0
                        • yuanjianY 离线
                          yuanjianY 离线
                          yuanjian
                          回复了WR 最后由 编辑
                          #13

                          WR 根据我的测试结果,是我说的那种模式,每次中断来时,会更新数据。这样的话就带来一个问题,如果我动态调整pwm的duty,你们是收到了立刻调整,还是下个周期再调整?

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

                            每次寄存器保存的值都是上个周期的值,本次的周期的值才刚开始采

                            yuanjianY 1 条回复 最后回复
                            0
                            • yuanjianY 离线
                              yuanjianY 离线
                              yuanjian
                              回复了WR 最后由 编辑
                              #15

                              WR 那你这个周期是以上升沿来计算还是以下降沿来计算。根据我测试的结果,我输入了一个不定周期的pwm,以下降沿计时的,双边捕获,我隔一次中断取一次周期,结果是对的。

                              1 条回复 最后回复
                              0

                            • 云途开发生态介绍

                              快速上手云途开发生态

                            • 云途论坛规则/Yuntu Forum Rules

                              发帖前请查看

                            • YT CONFIG TOOL调查问卷

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

                            • can
                              20
                              demo
                              19
                              uds
                              13
                              lin stack
                              10
                              md14
                              6
                              fbl
                              5
                              yt-link
                              5
                              adc模块
                              4
                              Online Users
                              pengh1994P
                              pengh1994
                              • 登录

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