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

YunTu Forum

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

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

已定时 已固定 已锁定 已移动 YTM32B1M系列
pwm
15 帖子 2 发布者 769 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 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
                      • 登录

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