在用STM8 mini 板学习TIM1 的Capture功能时,发现Capture到的值计算周期总是不对:
配置是这样:
fcpu= ftim1 = 16M(内部)
TIM1为中央对齐模式1
周期=25k,占空比为50%
ARR重载值为320
TIM1 的OC1、OC1N配置为PWM3输出且死区为(32),开更新中断(OC1比较值160)
TIM1的 OC4配置为 Caputer功能,并开OC4的比较、捕获中断
OC4脚直接接到OC1N的脚
观察OC4 的Caputer值分别是: 下降沿291; 上升沿 64
实际OC1N输出为: 下降沿160, 上升沿128(160-32(死区))
按OC4capter的值计算PWM低电平时间=上升沿-下降沿= 285
实际应该是320+32(死区)=352
Capture值不对,不知道是什么原因?
请高手指点
谢谢! |