控制STM32控制板上的LED指示灯闪烁。
如下图所示,LED指示灯为板载元器件,所以不需要外接其他设备。请把type-C数据线连接电脑与STM32控制板的USB Connect接口。

打开STM32CUBEIDE,导入工程,程序源码对应的路径为:
Board_Samples/STM32_Samples/Led
初始化LED外设,其中LED_GPIO对应硬件电路的PC13,GPIO模式为输出模式。


x#define LED_MCU_Pin GPIO_PIN_13#define LED_MCU_GPIO_Port GPIOCvoid MX_GPIO_Init(void){GPIO_InitTypeDef GPIO_InitStruct = {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOC_CLK_ENABLE();__HAL_RCC_GPIOH_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(LED_MCU_GPIO_Port, LED_MCU_Pin, GPIO_PIN_RESET);/*Configure GPIO pin : PtPin */GPIO_InitStruct.Pin = LED_MCU_Pin;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(LED_MCU_GPIO_Port, &GPIO_InitStruct);}
打开LED灯
xxxxxxxxxx#define LED_MCU_ON() HAL_GPIO_WritePin(LED_MCU_GPIO_Port, LED_MCU_Pin, SET)
关闭LED灯
xxxxxxxxxx#define LED_MCU_OFF() HAL_GPIO_WritePin(LED_MCU_GPIO_Port, LED_MCU_Pin, RESET)
控制LED灯状态翻转
xxxxxxxxxx#define LED_MCU_TOGGLE() HAL_GPIO_TogglePin(LED_MCU_GPIO_Port, LED_MCU_Pin)
LED闪烁函数,每计数调用20次,则翻转一次LED的状态。
xxxxxxxxxxvoid App_Led_Mcu_Handle(void){static uint8_t led_count = 0;led_count++;if (led_count >= 20){led_count = 0;LED_MCU_TOGGLE();}}
每个10毫秒调用App_Led_Mcu_Handle函数,让LED闪烁。
xxxxxxxxxxwhile (1){App_Led_Mcu_Handle();HAL_Delay(10);}
在STM32CUBEIDE上的文件管理界面选中要编译的项目,点击工具栏上的编译按钮即可开始编译。

如果没有错误或者警告,则提示编译完成。

按住BOOT0键,再按一下RESET键复位,松开BOOT0键,进入串口烧录模式。然后使用串口烧录工具烧录固件到板子上。
如果有STlink或者JLink,也可以使用STM32CUBEIDE一键烧录固件,更加方便快捷。
MCU_LED灯每隔200毫秒闪烁一次。
