蓝桥杯嵌入式竞赛常用硬件模块配置方法详解
创作时间:
作者:
@小白创作中心
蓝桥杯嵌入式竞赛常用硬件模块配置方法详解
引用
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;
}
以上就是蓝桥杯嵌入式竞赛中常用的硬件模块配置方法。希望对大家有所帮助。
热门推荐
正月初一禁忌背后的心理学秘密
春节3天逃离喧嚣:古北水镇&司马台长城深度游
春节带娃去重庆!动物园+科技馆超值攻略
西双版纳曼朗村:农文旅融合助力乡村振兴
曼景村:中国少数民族特色村寨的传统魅力
曼景罕:诗画傣寨的文化传承之旅
春晚热搜霸屏!这些高燃广东元素,你发现了吗?
时间管理新趋势:高效工作法大揭秘!
教育部门力推:科学时间管理助孩子健康成长
扬州东关街美食打卡攻略:一日游必吃清单
瘦西湖+东关街:扬州一日游打卡攻略
秋日扬州园林探秘:个园、瘦西湖与何园的私藏美景
扬州一日游:古迹探秘之旅
秋冬起名新潮流:用“润”字给孩子取个好听的名字
“润泽”:男孩取名新宠的崛起
完整版!5分钟看懂中国国家高速的编号密码
缙云仙都:从《仙剑奇侠传》到《花千骨》,影视取景地大揭秘!
丽江甲子村:玉龙雪山下的绝美秘境
九石渡:被低估的文化宝藏地
九石渡景区:南平的绝美秘境
九石渡景区:山水人文相得益彰的旅游胜地
研究揭秘:力量训练比有氧运动更能改善睡眠质量
上海疾控推荐:春节自驾游健康指南
春节自驾游:古北水镇&世园公园必打卡!
于姓男宝古诗词取名大赏!
投影仪的画面清晰度和亮度对观影体验有多大影响?
西双版纳国家级自然保护区:亚洲象的温馨家园
“倍僮”这个名字真的好吗?
2024年于姓男宝宝起名指南:五行属木火,寓意美好的名字推荐
西双版纳的望天树:直指苍穹的“森林巨人”