蓝桥杯嵌入式冲刺国奖-1、LED基础配置

 1、原理图

在官方给的产品手册中,可以看到控制8个LED的引脚分别为PC8-PC15,,正常来说我们只需要修改引脚的高低电平即可控制灯的亮灭,但该原理图有一个PD2引脚,我们需要先拉高再拉低才可修改PC8-PC12的引脚。

2、Cubemx基础配置

首先选择芯片型号,我们用的板子是stm32g431rbt6,我们在搜索框输入stm32g431rb,选择第二个

然后选择RCC标签,并将HSE改为修改为Crystal/Ceramic Resonator

选择SYS标签,并将Debug修改为Serial Wire

做完以上步骤,我们便可以开始配置时钟了,时钟频率按照如下配置成80Mhz,外部晶振根据官方给定的手册,设定为24Mhz。

若记不住,将①处设为24,②③处按如下配置,然后在④处输入80,系统即可帮我们自动配置好

以上步骤务必记牢,因为这是一切代码的开始,无论做什么,我们都需要进行以上的配置,后续该过程我们直接略过。

3、引脚配置

接下来,我们进行引脚配置,我们需要用的引脚是PC8-PC15和PD2,我们在芯片上点击对应的标签,将这些引脚模式配置为GPIO_Output,即完成引脚的配置。

然后进行最后一步,给文件命名(不能包含中文),保存路径也不能包含中文,编译软件选择MDK-ARM。

在生成单独的.c.h文件前面打勾。

最后点击生成代码,cubemx的配置便完成了。

4、代码编写

打开后,我们先对代码进行编译,保证0错误。

然后点击魔术棒,选择Debug,然后下载方式选择下图这种,点击Settings。

然后点击Flash Download,勾选上Reset and Run,这样我么在后续编写完程序后,不用手动按板子上的Reset按键,即可运行新程序。

打开main.c文件,即可看到代码,下面我们会看到有一个gpio.c文件,这是我们在cubemx中对引脚的配置代码,cubemx说的直白一点就是帮我们进行初始化配置的软件。

然后我们编写一点代码进行测试:

这段代码是PC8亮500ms,灭500ms的测试程序,我们前面讲过了,需要先将PD2拉高再拉低才可更改引脚的电平,于是我们就在修改PC8之前修改PD2的电平。

PS:我们的代码需要写在BEGIN 和 END之间,这样我们在更改Cubemx后我们自己写的代码才不会消失。

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	 HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
	 HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
	 HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_RESET);
	 HAL_Delay(500);
	 
	 HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
	 HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
	 HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_SET);
	 HAL_Delay(500);
	  
	  
  }

然后我们编译(F7),下载(F8),记住快捷键,以后可节约很多时间。

接下来,我们看一下实际的效果:

如果做到这一步,恭喜你,已经成功学会了点灯。但是我们发现这样虽然可以点亮灯,但是会不会太繁琐了,那有没有稍微简易的方法呢。当然有,后续我们再进行点灯升级篇,以及如何同时控制多个灯,上述内容均为基础,希望各位勤加练习。

5、写在最后

本文针对于对嵌入式有一定了解,并且想要速成的同学,逻辑可能不会讲的很清楚,后续章节也是,我将分享我是如何快速构建模板的,我只是想将自己所学的内容分享给大家。第一次尝试,难免有错误,欢迎各位大佬批评指正。

我自己是结合b站的视频资源以及蚂蚁工厂的教学,构建了一套自己的模板,蓝桥杯很重要的一点就是构建一套属于自己的模板,根据题目信息,在模板做出更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值