1.Cunbe配置
参照参考手册1086页,打开PA2的TIM15
最后点击生成代码
2.代码编写
在setup()函数初始化,打开TIM15的CH1和CH2
HAL_TIM_IC_Start(&htim15,TIM_CHANNEL_1);
HAL_TIM_IC_Start(&htim15,TIM_CHANNEL_2);
计算输入信号频率和占空比
float freq1=0,duty=0;
freq1=1000000.0f/(HAL_TIM_ReadCapturedValue(&htim15,TIM_CHANNEL_1)+1);//计算频率
duty=((HAL_TIM_ReadCapturedValue(&htim15,TIM_CHANNEL_2)+1)/((HAL_TIM_ReadCapturedValue(&htim15,TIM_CHANNEL_1)+1)))*100.0f;//计算占空比
sprintf(text,"freq:%.2f",freq1);
LCD_DisplayStringLine(Line2,(u8 *)text);
sprintf(text,"duty:%.2f%%",duty);
LCD_DisplayStringLine(Line3,(u8 *)text);
一般题目用PA1输出PWM,我们用PA2进行输入捕获,比赛时可以将PA1和PA2用杜邦线连接测出PA1的信号频率和占空比。