蓝桥杯嵌入式第十四届省赛总结
我的感受
反正人生就这一次打蓝桥杯,不妨写个总结给今后的学弟学妹们作个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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?