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

[复制链接]
2613|9
 楼主| yinxiangxv 发表于 2024-7-29 11:07 | 显示全部楼层 |阅读模式
pi, gp, LED, IO, GPIO
本帖最后由 yinxiangxv 于 2024-8-13 18:37 编辑

采用的工具 : stm32cubemx    keil

使用STM32CubeMX生成项目

选择NUCLEO H533RE开发板。其中的选项如下:注意Generate demonstration code前的选项,这个可以使用BSP包的代码。

gpio对应的led:
  1. typedef enum
  2. {
  3. #if defined (USE_NUCLEO_144)
  4.   LED1 = 0,
  5.   LED_GREEN = LED1,
  6.   LED2 = 1,
  7.   LED_YELLOW = LED2,
  8.   LED3 = 2,
  9.   LED_RED = LED3,
  10. #else
  11.   LED2 = 0,
  12.   LED_GREEN = LED2,
  13. #endif /* defined (USE_NUCLEO_144) */
  14.   LED_NBR
  15. } Led_TypeDef;
RCC系统时钟相关配置:

6000266a70357c6d60.png
5496566a7032e48364.png
如果有时间可以尝试在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扩展会自动安装


最后的效果我就不上图了,考虑下,还是上个视频吧

752166a70d9fe89e6.png
上面的是直接ld2的,这个代码是修改main.c后,通过PA6来进行led灯的翻转。
在main开始之前,添加下面代码:
  1. /* Private typedef -----------------------------------------------------------*/
  2. /* USER CODE BEGIN PTD */
  3. void GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0};
  4.                 __HAL_RCC_GPIOA_CLK_ENABLE();
  5.                 GPIO_InitStruct.Pin = GPIO_PIN_6;
  6.                 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  7.                 GPIO_InitStruct.Pull = GPIO_NOPULL;
  8.                 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  9.                 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); }
  10. /* USER CODE END PTD */
在main函数中,
  1. while (1)
  2.   {

  3.     /* USER CODE END WHILE */
  4.                
  5.                 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
  6.                 HAL_Delay(1000);
  7.                 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
  8.                 HAL_Delay(1000);
  9.                 HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_6);
  10.     /* USER CODE BEGIN 3 */
  11.   }

这样也可以通过PA6进行控制

led.zip

7.58 MB, 下载次数: 1

video.zip

3.93 MB, 下载次数: 0

评论

虽然很基础,但是动手做了就点个赞  发表于 2024-9-2 14:54
kzlzqi 发表于 2024-7-29 15:05 | 显示全部楼层
如果在开发过程中遇到 Flash 锁定问题,可以通过设置 BOOT 引脚重新编程。
申小林一号 发表于 2024-7-29 22:52 | 显示全部楼层
感谢分享
WoodData 发表于 2024-7-30 09:02 | 显示全部楼层
感谢分享
xionghaoyun 发表于 2024-7-30 10:21 | 显示全部楼层
兄弟 点灯太简单了 要弄个定时器点灯
4c1l 发表于 2024-8-31 22:57 | 显示全部楼层
通过 STM32CubeMX 和 Keil 的组合,可以快速生成 STM32 项目的基础代码,并根据实际需求进一步开发和调试应用程序。
 楼主| yinxiangxv 发表于 2024-9-1 11:06 | 显示全部楼层
4c1l 发表于 2024-8-31 22:57
通过 STM32CubeMX 和 Keil 的组合,可以快速生成 STM32 项目的基础代码,并根据实际需求进一步开发和调试应 ...

是的,我就是这样慢慢熟悉的
呐咯密密 发表于 2024-9-2 14:54 | 显示全部楼层
来点高级的,点灯审美疲劳了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

348

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部