我的感受
反正人生就这一次打蓝桥杯,不妨写个总结给今后的学弟学妹们作个Present!(写博客不忘复习单词)。
客观题:总会有几个是能做的。虽然不定项得分很低。
主观题:一个感受,难点在于输入捕获和PWM输出。在运行时更改PWM的频率。再结合定时器,平均缓慢的增加或减少。需要去更改TIM2的autoreload(重装载值)的值来改变PWM的频率,比如题目说的4K和8K的频率。//这个实时运行过程中更改类比十三届
80MHZ的主频,200-1的时钟预分频系数,100的自动重装载值得4k的频率,50的自动重装载值得8K的频率。然后题目要求5s内缓慢递增或递减,且步长小于200hz,经过我的计算,无论是从低频变高频还是高频变低频,每100ms加autoload的值加减1并更新autoload。所以5s总共有50个100ms,即为每100ms autoreload的值加减1. 因为改了autoreload所以占空比需要重新计算赋值给TIM2->CCR2寄存器。
分析过程
auloreload为50时: Freq =8K (设置预分频系数为200-1)
步长最大值为 8K-7843<200HZ
在100ms的中断里通过调用以下库函数完成PWM频率的缓慢增减.
__HAL_TIM_SetAutoreload(&htim2,autoreloadData-1);
HAL_TIM_GenerateEvent(&htim2, TIM_EVENTSOURCE_UPDATE);