结合测量一路PWM频率编程
测量占空比:测量高电平持续时间和周期
思路:
①.第一次上升沿中断,清零计数器,开始计时并改成下降沿中断
②.下降沿中断,获取计数值T1,并改为上升沿中断
③.第二次上升沿中断,获取计数器的值T2,此时T2为PWM的频率,通过(T1/T2)×100%可以获得PWM的占空比
测量一路PWM频率和占空比
基于测量两路PWM频率的工程文件继续编写
首先当第一次上升沿中断并计数后,我们需要更改下次中断为下降沿中断
打开STM32G4系列微控制器参考手册的第29.5.11章节
要改变上升沿或下降沿的中断触发,则需要改变两个寄存器CC1NP和CC1P
由于CC1P是CCER寄存器的第2位,所以TIM2->CCER |= 0x0002就是把CC1P置为1
创建变量
u32 tim2_cnt1:用来存放T1(第一次下降沿触发时的计数值)
u32tim2_cnt2:用来存放T2(第二次上升沿触发时的计数值)
u32 tim3_cnt1:用来存放T1(第一次下降沿触发时的计数值)
u32 tim3_cnt2:用来存放T2(第二次上升沿触发时的计数值)
u32 F39:用来存放TIM3转换后的频率值
u32 F40:用来存放TIM2转换后的频率值
float D39:用来存放TIM3转换后的占空比
float D40:用来存放TIM3转换后的占空比
tim2_state = 0:用来更改CCER寄存器,更改上升下降沿触发中断 0:开始计时,1:获取T1(下降沿触发),2:获取T2(上升沿触发)
tim3_state = 0:
测量R40的PWM频率和占空比
测量两路PWM频率和占空比
和上面相似
将得到的R40和R39的频率和占空比在LCD上显示出来
·