蓝桥杯G4整理——LED

本文介绍了蓝桥杯G4中LED的控制原理,通过74HC573D芯片实现。LED亮灭由GPIO_PIN_RESET和GPIO_PIN_SET控制。详细步骤包括工程配置、启动文件处理及程序实现。示例代码展示了如何点亮LED,以及如何用函数控制多个LED,并给出了简单的流水灯程序实现。

通过打开G4的原理图,我们可以看到有关LED的引脚为PC8-PC15,当输出为低电平(GPIO_PIN_RESET)时,灯亮;输出为高电平(GPIO_PIN_SET)时,灯灭。74HC573D 的控制逻辑为:当 LE 为低电平时,无论在数据输入引脚上的电平如何变化,输出保持不变。当 LE 为高电平时,数据输出引脚上的电平与输入引脚上的一致。当 LE 再次为低电平后,数据输出引脚上的电平就被锁定了。因此,LED 的控制逻辑为:先输出要显示的数据,然后将 LE(PD2)拉高,然后马上拉低(由于程序执行有时间,这样会在 LE 上形成一个高电平的脉冲)。

工程配置流程:

具体操作如下:

 

 然后按照之间讲的生成工程,这样底层配置就完成了。

如果没有启动文件的话,需要自己先手动添加。 

程序实现部分:

HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_RESET);
HAL_G
### 配置CubeMX与Keil进行蓝桥杯竞赛项目开发 #### STM32CubeMX的配置 STM32CubeMX是一个图形化配置工具,主要用于生成基于HAL库的初始化代码。对于蓝桥杯G4系列微控制器而言,在启动一个新的项目之前,需先下载并安装STM32CubeMX软件[^2]。 在打开该程序后,选择目标MCU型号(如STM32G474RE)。接着设置系统的时钟树结构、外设功能以及GPIO引脚分配等参数。完成这些基本设定之后,通过点击“Project”菜单下的选项保存工程项目,并指定要导出至KEIL UVision编译器中的路径位置[^1]。 #### Keil MDK的配置 当从STM32CubeMX成功导出了针对特定硬件平台定制化的C语言模板文件夹后,就可以将其导入到Keil uVision环境中继续下一步工作了。确保已预先安裝好最新版本的支持ARM Cortex-M架构处理器家族特性的MDK Professional Edition IDE及其配套组件[^3]。 为了使两者之间能够无缝衔接协作起来,建议按照如下操作指南来进行具体调整: - **加载工程**: 打开Keil uVision界面,选取刚才由CubeMX所创建出来的`.uvprojx`格式的项目文档; - **检查链接脚本**: 核实Linker Script里定义好的内存布局是否匹配实际使用的单片机规格说明书中描述的情况;若有差异,则应依据官方数据手册作出相应修改; - **优化编译选项**: 调整Compiler Settings里的Optimization Level以平衡执行效率和代码尺寸之间的关系,通常情况下Release模式下可适当提高级别以便获得更紧凑高效的二进制映像; - **添加额外依赖项**: 如果涉及到第三方类库或框架的话,记得把它们加入Include Paths及Library Files列表之中去。 最后值得注意的是,在正式参赛前务必反复测试验证整个流程直至完全熟练掌握为止,这样可以在实战当中节省宝贵的时间成本的同时也提高了成功率。 ```cpp // 示例:简单的LED闪烁程序片段 #include "stm32g4xx_hal.h" int main(void){ HAL_Init(); MX_GPIO_Init(); // 初始化GPIO while (1){ HAL_Delay(500); HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); // 切换PA5端口电平状态实现LED亮灭交替变化效果 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值