蓝桥杯嵌入式第十四届省赛总结

我的感受

反正人生就这一次打蓝桥杯,不妨写个总结给今后的学弟学妹们作个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);

posted @   昊月光华  阅读(45)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示