关于PWM捕获中CCMRn设置 | 已解决
STC8H系列-高级PWM相关程序\高级PWM相关程序\03-PWMA-4个捕获通道 例程中PWMA_CCMR1= 0x31; // 通道1模式配置, 配置成输入通道, 8个时钟滤波
手册中CCMRn部分找不到相关解释
请问大家在哪儿有相关时钟滤波设置
再往下面翻两页就有了:
哦,看到了,是说在捕获模式下把PWMA_CCMRn这个寄存器做了另外的功能定义和比较模式区分出来了 ,谢谢梁工! 请问这个数字滤波器长度该怎么设定,比如在IO口上1秒约检测到1个脉冲和1秒约检测100个脉冲,这个ICnF分别设多少合适(12M晶振,1T主频) kxyz 发表于 2023-10-9 11:00
请问这个数字滤波器长度该怎么设定,比如在IO口上1秒约检测到1个脉冲和1秒约检测100个脉冲,这个ICnF分别设 ...
先根据要求的捕获时间分辨率确定PWM的时钟,然后再根据你的干扰特征选择数字滤波1~256个PWM时钟,用于滤除毛刺。跟检测到多少个脉冲没有直接关系的。
假设我要捕获的最长周期是500ms,最小周期是1ms,干扰信号不超过50us,MCU主频24MHz,则:
PWMA_PSCR = 240-1;//PWM时钟为主频分频240,则PWM时钟周期为10us,最大捕获时间655ms。
PWMA_CCMR1= (3<<4) +0x01;// 通道1配置成输入连接到TI1FP1(CC1S = 0x01), 8个时钟滤波(3<<4)
//干扰不大于50us,则8个时钟对应80us,就是合理设置。 梁工 发表于 2023-10-9 21:48
先根据要求的捕获时间分辨率确定PWM的时钟,然后再根据你的干扰特征选择数字滤波1~256个PWM时钟,用于滤 ...
你好,请问最大捕获时间655ms是怎么得到的 fengzaixiao 发表于 2024-10-31 15:53
你好,请问最大捕获时间655ms是怎么得到的
还有这个PWM时钟周期10us,是每隔10us就检测一次引脚电平状态吗 fengzaixiao 发表于 2024-10-31 15:53
你好,请问最大捕获时间655ms是怎么得到的
PWM时钟100KHz,周期10us,16位计数器计数值65535,即为655.35us,就是655ms。 fengzaixiao 发表于 2024-10-31 16:00
还有这个PWM时钟周期10us,是每隔10us就检测一次引脚电平状态吗
10us,是PWM时钟周期!
页:
[1]