采用STM32F103C8T6单片机,KeilMDK5.32版本
采用2个定时器
定时器2 为PWM输入捕获,复位从模式(触发则复位CNT寄存器),通道1(PA0)上升沿触发,IC1上升沿捕获,IC2下降沿捕获,开启IC1捕获中断。IC1和IC2连接到通道1(PA0),PA设置为下拉输入。分频为7200 计一个数为0.1ms,重装载值为65535。
定时器3为PWM输出模式,触发从模式(触发则使能定时器),通道2(PA7)下降沿触发,OC1(PA6)为PWM输出模式。分频为7200 计一个数为0.1ms,重装载值为100,CCR1寄存器为50,故OC1(PA6)PWM波周期为10ms,占空比为50%。
定时器3在单脉冲模式(发生更新事件则失能定时器,也就10ms后失能定时器)。
单脉冲模式负责失能定时器,触发从模式(通道2 PA7检测到上升沿信号)负责使能定时器。
PC13控制LED灯,每50ms亮灭一次。
用杜邦线连接PA0和PA6,连接PA7和PC13。
则输出的PWM波高电平持续时间为95ms,低电平为5ms,可以自己画一下波形图分析。
1