上海虹口网站制作,百度网站排名查询,内蒙古建设工程质监站网站,关键词排名优化公司推荐原理#xff1a;在通道1#xff0c;TIM_CH1上会输入PWM波#xff0c;在每个上升沿来的时候会发生三个动作#xff0c;第一个动作会触发一个中断#xff0c;第二个动作会把CNT计数值捕获#xff0c;第三个动作会把CNT的值清0#xff0c;
要测量占空比则需要打开TI1FP2在通道1TIM_CH1上会输入PWM波在每个上升沿来的时候会发生三个动作第一个动作会触发一个中断第二个动作会把CNT计数值捕获第三个动作会把CNT的值清0
要测量占空比则需要打开TI1FP2通道2这样当第一次下降沿触发时通道二的捕获寄存器就会记录此时的计数值
①当第一个上升沿产生时产生中断捕获CNT的值存入通道1捕获寄存器接着清零CNT值
②产生第一个下降沿产生中断捕获CNT的值存入通道2捕获寄存器
③产生第二个上升沿产生中断捕获CNT的值存入通道1捕获寄存器清零CNT的值 STM32CubeMX配置生成源码
TIM2和TIM3通道2设置成交叉模式下降沿触发非直连 直连与非直连的区别 生成源代码
Keil主代码编写
把TIM2和TIM3的初始化配置重新粘贴 启用定时器捕获通道二 创建变量PWM1_D_Count和PWM2_D_Count用来存放两个定时器通道2下降沿捕获到的数值
如下图所示为输入捕获回调函数
创建变量PWM_duty用来存放占空比的值浮点型 在回调函数中读取通道2下降沿触发时捕获到的计数值
通过公式计算占空比周期/高电平持续时间 PWM1_duty (float)PWM1_D_Count/ (float)PWM1_T_Count;注意要转换为浮点型) LCD显示保留小数点后两位最后测得占空比的值在0.5左右为正常