蓝桥杯嵌入式竞赛常用硬件模块配置方法详解
创作时间:
作者:
@小白创作中心
蓝桥杯嵌入式竞赛常用硬件模块配置方法详解
引用
CSDN
1.
https://blog.csdn.net/2301_80818909/article/details/145553562
蓝桥杯嵌入式竞赛是许多电子工程和计算机科学学生的重要比赛,掌握其常用硬件模块的配置方法是取得好成绩的关键。本文将详细介绍蓝桥杯嵌入式竞赛中常用的硬件模块配置方法,包括cubemx时钟树配置、LED控制、按键检测等。
cubemx时钟树配置
时钟树的配置是嵌入式系统开发中的重要环节,特别是在蓝桥杯竞赛中,需要严格遵循题目要求的频率。以下是一个示例配置:
需要注意的是,时钟树的配置方法不局限于图中所示,可以通过调节第4、第5步的地方保证SYSCLK(MHz)处的频率为80,符合蓝桥杯题目要求即可。如果题目要求其他频率,也可以通过这些地方调整达到题目要求。
LED控制
LED控制是嵌入式系统中最基本的功能之一。在蓝桥杯竞赛中,通常需要控制多个LED灯的状态。以下是一个具体的配置示例:
将PC8~PC15、PD2在cubemx上设置为GPIO_Output模式。
控制所有LED的函数
void Led_Disp(uint8_t ucled)
{
HAL_GPIO_WritePin(GPIOC,0xFF<<8,GPIO_PIN_SET);//指定所有灯灭
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOC,ucled<<8,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
}
该函数的参数是一个字节,0x00 = 0000 0000,每个位代表一个LED灯,从左往右分别代表LED1-LED8:
- LED1 : 0x01
- LED2 : 0x02
- LED3 : 0x04
- LED4 : 0x08
- LED5 : 0x10
- LED6 : 0x20
- LED7 : 0x40
- LED8 : 0x80
流水灯演示
uint8_t leds[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
while (1)
{
uint i;
for(i=0;i<8;i++)
{
Led_Disp(leds[i]);
HAL_Delay(100);
}
}
控制单个LED的函数
uint8_t led_sta;
void Led_Pro(uint8_t num,uint8_t sta)//单独开关灯函数
{
uint8_t pos=0x01<<(num-1);
led_sta=(led_sta&(~pos))|(pos*sta);
Led_Disp(led_sta);
}
LED演示
Led_Pro(6,1);//打开led6
Led_Pro(6,1);//关闭led6
按键检测
按键检测是嵌入式系统中常见的输入方式。在蓝桥杯竞赛中,通常需要检测多个按键的状态。以下是一个具体的配置示例:
将PB0、PB1、PB2、PA0在cubemx上配置为GPIO_Input模式:
需要注意的是,如果按键想用外部中断的话,PA0、PB0是同一个中断线,外部中断只能用三个按键,剩下的一个按键还是需要读写操作,所以最好还是都使用读写操作。
按键初始化代码
uint8_t Key_Scan(void)
{
uint8_t key_val=0;
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET)
{
key_val = 1;
}
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET)
{
key_val = 2;
}
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2)==GPIO_PIN_RESET)
{
key_val = 3;
}
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_RESET)
{
key_val = 4;
}
return key_val;
}
以上就是蓝桥杯嵌入式竞赛中常用的硬件模块配置方法。希望对大家有所帮助。
热门推荐
满满智慧的黑科技种出了一串串稀奇的串番茄
传奇的见证者!科比生涯合作过的队友,仅存这最后4人还在NBA效力
个体户税务困局:当营业执照遇上未办税的惊魂时刻
红矮星有多神奇?熬走宇宙中所有的大恒星,几万亿年后才熄灭
15个拉伸动作让你延年益寿,简单易学,改善血管健康,老人也能做
瑞舒伐他汀 vs 普伐他汀:从疗效、副作用到适用人群的全方位对比
中国政法大学法律硕士研究生调剂信息发布指南
清江鱼是什么鱼?全面解析清江鱼的种类与特点
赡养协议的主要内容是怎样的
如何巧妙撰写标签:提升内容吸引力与识别度的实用技巧
家里有异味怎么办?别再用除臭剂了,这8个除臭妙招,省钱又安全
14款食疗方,总有一款适合你——高血压患者
股市中轧空行情是什么?轧空行情的形成机制是怎样的?
如何在视频号上成功吸引观众
视频号情感赛道项目新玩法教程,原创秘籍大揭秘,如何选择正确的赛道
办公软件全名怎么取名的
研发软件名称怎么取名好听
认知驱动:内在努力到外在产出
外向型人格具有以下特征
怎么优化完整合同流程以提高效率?
创业后加入字节跳动,他们选对了吗?
同济大学研究揭示植物纤维增强复合材料独特燃烧行为
虹吸现象原理(把水从低处抽到高处的简易方法)
银行外汇储备管理的风险管理体系构建
个税零申报的流程和注意事项是什么?这些流程如何简化申报过程?
成都模式VS武汉模式:航空与高铁,如何分流?
边玩边充电对电池的真实影响!
行李已托运、旅客已过安检?东航也能登机口一站办完改签!
9类危险品——带电产品和电池产品的海运要求
医生解读:催吐的危害及健康风险