本帖最后由 yinxiangxv 于 2024-8-13 18:37 编辑
采用的工具 : stm32cubemx keil使用STM32CubeMX生成项目 选择NUCLEO H533RE开发板。其中的选项如下:注意Generate demonstration code前的选项,这个可以使用BSP包的代码。 gpio对应的led:
typedef enum
{
#if defined (USE_NUCLEO_144)
LED1 = 0,
LED_GREEN = LED1,
LED2 = 1,
LED_YELLOW = LED2,
LED3 = 2,
LED_RED = LED3,
#else
LED2 = 0,
LED_GREEN = LED2,
#endif /* defined (USE_NUCLEO_144) */
LED_NBR
} Led_TypeDef;
RCC系统时钟相关配置:
如果有时间可以尝试在vscode中开发,需要安装相关的工具:
STM32CubeCLT 是一个集成了包括GNU C / C++ for Arm工具链可执行文件,GDB调试器和STM32CubeProgrammer(STM32CubeProg)实用程序集合。
安装完成后在安装VScode STM32扩展。STM32扩展还需要C++、Cortex-Debug、等扩展。LinkerScript、GNU Linker Map files、Hex editor等扩展通过安装Cortex-Debug扩展会自动安装
最后的效果我就不上图了,考虑下,还是上个视频吧
上面的是直接ld2的,这个代码是修改main.c后,通过PA6来进行led灯的翻转。
在main开始之前,添加下面代码:
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
void GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0};
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); }
/* USER CODE END PTD */
在main函数中,while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_6);
/* USER CODE BEGIN 3 */
}
这样也可以通过PA6进行控制
|
虽然很基础,但是动手做了就点个赞