1. 赛题核心功能解析
第十五届蓝桥杯嵌入式省赛题目的硬件配置围绕按键、LED、LCD和输入捕获四大核心功能展开。输入捕获功能需要测量外部信号的频率,而按键处理涉及状态机设计和长短按识别。这些功能在嵌入式系统中非常常见,但实现起来容易踩坑,尤其是定时器配置和中断处理部分。
先说说输入捕获,题目指定使用PA15和PB4引脚(对应开发板上的R39和R40)。这两个引脚需要配置为定时器的输入捕获模式,具体来说,PA15对应TIM2的通道1(TIM2_CH1),PB4对应TIM3的通道1(TIM3_CH1)。在CubeMX中配置时,除了选择正确的定时器和通道,还得注意预分频系数和自动重装载值(ARR)的设置。预分频系数设为80-1,ARR设为65535,这样能确保定时器有足够的计数范围来捕获高频信号。别忘了开启中断,输入捕获功能依赖中断来触发捕获事件,这一点和普通的定时器计时不同。
按键处理部分用到状态机,这是嵌入式开发中处理输入事件的经典方法。状态机将按键动作分解为多个状态(如初始、按下确认、长按判断等),通过定时器中断周期性地检测按键状态,实现短按和长按的识别。状态机的实现要注意状态转换的条件和标志位的管理,一旦逻辑出错,按键响应就会混乱。
2. CubeMX配置详解
CubeMX的配置是基础,但细节决定成败。首先打开TIM2和TIM3,选择通道1为输入捕获直接模式。时钟树配置为HCLK 80MHz,PCLK1 24MHz,这是STM32F103的常见配置。预分频系数设置为80-1,意味着定时器时钟为1MHz(80MHz/80)。ARR设为65535,让定时器工作在16位模式下,最大计数范围0-65535。
输入捕获模式下,需要开启捕获/比较中断和更新中断。在NVIC设置中,使能TIM2和TIM3的全局中断。按键处理用的定时器(如TIM4)配置为普通定时器,中断频率通常设为1kHz(即1ms中断一次),这样能平衡响应速度和系统负载。
GPIO配置方面,PA15和PB4设置为复用推挽输出,按键引脚(如PB0、PB1、PB2、PA0)设置为输入模式,上拉或下拉根据电路设计选择。LED和LCD的引脚按常规配置即可。这些配置看起来简单,但一旦引脚或模式选

724

被折叠的 条评论
为什么被折叠?



