蓝桥杯嵌入式(STM32G431RBT6)入门第一天——点亮LED|CSDN创作打卡

首先创建LED和LED_test两个文件夹,一个用于存放自己编写的工程文件,一个用于存放STM32CubeMX生成的工程。

接着打开 STM32CubeMX点击图中按钮进入到选型界面,可能会有下载更新的弹窗,耐心等待即可。

 在搜索框输入stm32g431rb会出现两个选项,选择STM32G431RBTx为我们的目标型号。

进入后先对RCC时钟进行配置,在高速时钟处选择晶体\陶瓷晶振,也就是外部晶振,选择后会看到芯片的两个引脚变成绿色。

 接着查看官方提供的CT117E-M4产品手册找到   7.4  LED指示灯   

 查看原理图,八个LED指示灯由PC8-PC15这八个IO口控制,当IO口输出低电平时LED灯被点亮,输出高电平时LED熄灭。同时需要注意,使用了74HC573锁存器,只有在LE引脚为高电平时右端IO口的电平信号才会被传输到左端送给LED灯,所以在控制LED灯时要记得把LE引脚拉高后再拉低。

 下面进入STM32CubeMX开始配置LED的GPIO。依次点击GPIO->PC8->GPIO_Output

即可将PC8作为一个输出IO口。

 随后对PC9-PC15以及PD2进行同样的操作

 下面开始配置IO口,点击中间的PC8即可对PC8进行配置,将其初始化为高电平,这样上电时LED处于不亮的状态,下面的几个选项分别为推挽输出、没有上拉和下拉、低速(默认即可),依次对PC9-PC15进行同样的设置,最后对PD2(即LE)需要初试化为低电平,这样刚上电时无法对LED的IO口进行控制。

 下面开始时钟频率的配置,依照下图顺序即可将时钟频率配置为80MHz

 下面进行文件保存的设置,

依次是进行命名LED_test,保存到我们新建的文件夹里面,应用程序结构选择Basic,使用的软件选择MDK-ARM(即keil,版本对照自己的版本进行选择,这里我是v5 )

随后进行代码的设置,②为包含所有的库文件,③为生成独立的.c以及.h文件,最后点击④生成工程文件。

 打开工程编译后发现有一个错误,报此错误的原因是没有启动文件,有的时候STM32CubeMX会生成对应的启动文件,有的时候不会生成,不管有没有生成都需要自行进行添加。

 如果已经生成了,会在工程目录下面,只需要双击①处将②中文件加入即可。

 如果没有生成启动文件则需要找到官方提供液晶驱动例程找到startup_stm32g431xx.s,一般路径是          资源数据包_嵌入式(G431)_2021\5-液晶驱动参考例程\HAL_06_LCD\MDK-ARM\startup_stm32g431xx.s

 将其复制到我们刚刚生成的工程文件中,然后用上面的步骤将其添加到工程当中。

返回keil,在main函数中写下如下几行代码即可得到闪烁的LED灯。

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
		
    /* USER CODE BEGIN 3 */
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_8
                         |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12,GPIO_PIN_RESET);
		HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
		HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_8
                          |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12, GPIO_PIN_SET);
		HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
		HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
		HAL_Delay(500);
  }
  /* USER CODE END 3 */
}

最后我们需要进行下载设置,点击菜单栏的小魔法棒

 在Debug中选择CMSIS-DAP Debugger,随后点击Settings

 在Falsh Download中将Reset and Run勾选上,这样程序下载进入单片机后会自动复位然后运行。

 将程序下载进单片机,得到闪烁的小灯。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻梦旅程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值