关于STC8H的PWM捕获问题
1、是否可以同时实现捕获PWM,又输出PWM,是否如网上所说,捕获的最大脉宽受到输出的周期的影响,AB两个计数不是独立的吗?2、计数器何时清零,是周期计数吗?这样如何持续采样PWM信号3、看到最新8H手册中23.10.11的例程中,同时采集脉宽和周期,上升沿复位计数是通过设置从模式控制寄存器实现,但是在选择触发源的时候,只有TI1FP1\TI2FP2\TI5FP5\TI6FP6,没有用到PWM7对应的TI7FP7,是不是只有提到的四个触发源能够实现该功能。5、手册中多次提到复位触发信号设置,但是没有明确说明在哪里设置,具体是怎么设置呢,就是刚才提到在从模式寄存器哪里设置吗?麻烦大神们帮忙解答一下,实测过程中,我的PWM输入信号时这样的:
我在中断中反转了IO输出,程序如下:void PWMB_ISR() interrupt 27 { if(PWMB_SR1 & 0x08) { PWMB_SR1=0; work_led_r=~work_led_r; }
}但是我监测到IO的输出是这样的:
请问大神们,这是什么原因:
根据我的理解,,
1. PWMA与PWMB是两个独立的计数器如果 你用PWMA作为PWM输出PWMB作为捕获应该不会出现周期影响的问题,但是 如果你用 PWMA的PWM1P PWM2P输出 PWM3P PWM4P输入捕获 因为计数器只有一个所以会有周期问题。
2.计数器何时清零,,论单方向计数的话 向上到上溢才有清零这么一说,,如果你选择向下计数,那就不叫清零了,,既然你看过手册了,那就应该清楚计数的方式 在 《时基单元》这个章节中有详细的描述。。
至于你想的连续采样PWM信号,是不是可以解释为 在计数器不停止的的情况下,采集到一个边沿就将计数值保存?如果是这个问题的话可以选择开启更新中断,再更新中断中加入一个计数变量,然后边沿触发中断后将当前PWM的计数值与这个计数变量进行计算然后保存。。反正就是如何处理这个溢出值的问题。
3.5.剩下的所说的我就没有用过了,,等等大佬们来回答把,,至于找不到什么意思的,,可以关注一下描述里的英文缩写 通过文档全局搜索的功能找到其介绍的位置
_奶咖君_ 发表于 2024-7-27 10:44
根据我的理解,,
1. PWMA与PWMB是两个独立的计数器如果 你用PWMA作为PWM输出PWMB作为捕获应该不会出现 ...
非常感谢,本以为一天搞定的问题,干了三天了,当初做PWM输出的时候就忙活了好几天,我查查,有没有可能是寄存器冲突了,软件触发了中断事件,但是我已经关闭了XFR的访问,我再查查,非常感谢 1、是否可以同时实现捕获PWM,又输出PWM,是否如网上所说,捕获的最大脉宽受到输出的周期的影响,AB两个计数不是独立的吗?
答:PWMA、PWMB是两个完全独立的外设,互不影响。比如你可以PWMA输出PWM,PWMB捕获外部信号的周期和占空比。捕获的最大脉宽就是你设置的周期计数器的最大值,一般用于捕获的话,设置为65535比较好。而统一组PWM,可以输出PWM同时也可以捕获(不要自动清零计数器),捕获最大值就是PWM周期值。
2、计数器何时清零,是周期计数吗?这样如何持续采样PWM信号
答:计数器计到设置的ARR值+1就会归0。测周期时也会自动归0.
梁工 发表于 2024-7-27 15:53
1、是否可以同时实现捕获PWM,又输出PWM,是否如网上所说,捕获的最大脉宽受到输出的周期的影响,AB两个计 ...
确认一下 您说的是向上计数模式下把{:4_171:}
希望我这里几天的学习是对的.... 梁工 发表于 2024-7-27 15:53
1、是否可以同时实现捕获PWM,又输出PWM,是否如网上所说,捕获的最大脉宽受到输出的周期的影响,AB两个计 ...
哈喽,梁工,现在发现一个问题,当启动ADC的时候,就会一直进PWMB捕获中断,您遇到这个问题吗? 梁工 发表于 2024-7-27 15:53
1、是否可以同时实现捕获PWM,又输出PWM,是否如网上所说,捕获的最大脉宽受到输出的周期的影响,AB两个计 ...
哦,搞定了,设置一下中断优先级好了
页:
[1]