[STM32H5]【STM32 Nucleo-64 测评】基础任务gpio之led

采用的工具 : 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进行控制

led.zip

7.58 MB

video.zip

3.93 MB:
---------------------
作者:yinxiangxv
链接:https://bbs.21ic.com/icview-3392898-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值