蓝桥杯嵌入式竞赛常用硬件模块配置方法详解
创作时间:
作者:
@小白创作中心
蓝桥杯嵌入式竞赛常用硬件模块配置方法详解
引用
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;
}
以上就是蓝桥杯嵌入式竞赛中常用的硬件模块配置方法。希望对大家有所帮助。
热门推荐
“以毒攻毒”、溶掉肿瘤,晚期肿瘤病灶完全消失已超5年
明朝大贪官严嵩的这件本领,后世贪官无人能及
综述 | 以系统发育方法解析肿瘤进化
上海黄河路美食街攻略:必吃的特色小吃和知名饭店
减肥就得少吃肉?这可真是个大误会
汽车维修行业:发展前景与挑战并存
潮汕牛肉火锅:不听不听……
身体出现这些变化,可能不是病,而是老了
酒店投资的五大关键指标(深度解读)
南充阆营高速公路新进度,嘉陵江特大桥施工已过半
宗舜法师:佛教的生态智慧与可持续发展
如何提升自己在期货交易中的专业水平?
公积金还房贷:全面解析与操作指南
MySQL多版本并发控制原理-MVCC

如何有效测试净水器的性能?
基于时域差分 FDTD 方法模拟喇叭天线并绘制电场方向图
轻松击退水肿:三款食物来帮忙
桑葚要洗吗?吃桑葚前,你真的会正确清洗吗?
GenBase:汇交、存储、管理与共享核酸和蛋白质序列的基因序列数据库
霍元甲与武状元张三甲:武术精神的传承与发展
霍元甲逝世之谜:是毒死还是病逝?
严格说,深圳和珠江三角洲关系不大?
1945年,美国为何将原子弹投到广岛和长崎,而不是东京?
海德格尔和维特根斯坦——现代西方哲学的两座高峰
海葵生态分布及保护现状分析
孩子厌学背后的心理需求:家长如何平衡亲密与边界?
教育“厌学”的孩子:体验生活的苦,还是苦口婆心的劝?
数字化转型中的小程序安全与合规性指南
关于兄弟姐妹关系的深度剖析:别让“温水效应”毁了亲情
职业中毒工伤鉴定的流程是什么?