想要参加蓝桥杯的宝子门,今天开始更新蓝桥杯教程介绍。对于嵌入式的同学来说,我们最重要的是掌握两个软件,一个是keil5,另一个是cubemx.
今天主要是介绍软件是使用,首先,我们需要打开硬件图。
这是LED的原理图,74HC573的八个锁存器都是透明的D型锁存器。简而言之的说,当PD2为1是把D引脚电平引入到Q引脚上,PD2为0时,Q引脚保持不变,不随D引脚电平改变而变。
对于cubemx的使用:
(1)点击file -->New Project
(2)点击Series --> STMG4-->选择芯片STM32G431RBT6并且双击
(3)我们首先配置时钟树,首先选择System Core --> RCC-->HSE选择Crystal/Ceramic(外部晶振) Resonator
(4)将HCLK频率由16改为80(即时钟频率是80MHz,后续文章也会是80MHz)
(5)初始化LED引脚设置为output,点击引脚PC8(以PC8为例,其他LED的IO口都一样设置),点击GPIO_Output
(6)点击System view --> GPIO
(7)这里以PD2为例
点击PD2,设置PD2口,GPIO output level(初始化电平)为高,74HC573中PD2为高才能是能D触发器。GPIO mode为输出模式, GPIO pull-up/pull-down 为推挽输出。 Maximum为中等速度, 使用名字为LED_control。
(8)配置完成后,生成文件,点击project manager --> project name -->输入名字(不要使用中文)-->project location点击Browse选择存储路径(也不要有中文) -->IDE:MDK-ARM
(9)在code generator配置如图,最后点击右上方GENERATE CODE生成文件
(10)选择open project,开始我们的keil编程。
下面介绍两个函数:
(1)HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)写入pin脚电平;
(2)HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)翻转pin电平:
对于走马灯代码如下
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8 << i);
i++;
i%=8;
HAL_Delay(500);
/* USER CODE END WHILE */
全部代码可见: