使用STM32CubeMX实现流水灯


前言

目前生活中有很多地方都用到了单片机,单片机的运用已经非常广泛。STM32是一款比较流行也比较好用的单片机,已经实现了傻瓜式开发。


一、下载stm32cubemx并安装HAL库

1.下载stm32cubemx

1.首先进入下载界面并点击next
在这里插入图片描述
勾选同意并点击next
在这里插入图片描述
再次勾选并点击next
在这里插入图片描述
选择安装路径后点击next
在这里插入图片描述
然后点击next等待安装
在这里插入图片描述
在这里插入图片描述

2.安装HAL库

1.打开STM32CubeMx,点击help -> Manage embedded
在这里插入图片描述
2、选择对应的芯片以及版本,并点击安装
在这里插入图片描述
在这里插入图片描述
至此结束

二、新建工程

1.点击new project
在这里插入图片描述
2.找到自己需要的芯片型号
在这里插入图片描述
3.点击System Core下SYSDebug选择Serial Wire
在这里插入图片描述
4.配置时钟
在这里插入图片描述
在这里插入图片描述
5.配置引脚输出
在这里插入图片描述
6.导出配置
在这里插入图片描述
在这里插入图片描述
7.点击Create code
在这里插入图片描述
8.在keil中打开工程文件,并将下列代码粘贴到while循环里面
在这里插入图片描述

三、进行编译仿真

1.进行Debug设置
在这里插入图片描述
2.逻辑分析仪分析,发现实现流水灯功能
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
流水灯是一种简单的LED灯效,可以通过控制多个LED灯的亮灭顺序来呈现出一种类似于水流般的效果。在STM32中,我们可以使用CubeMX配置工具来生成代码并实现流水灯效果。 以下是基本步骤: 1. 打开STM32CubeMX,选择你使用的MCU型号。 2. 在Pinout & Configuration选项卡中,选择需要使用的GPIO引脚,将其配置为输出。 3. 在Clock Configuration选项卡中,根据需要配置系统时钟。 4. 在Project Manager选项卡中,选择生成代码所需的IDE和语言。 5. 生成代码并打开工程后,在main函数中添加以下代码: ```c /* USER CODE BEGIN 2 */ uint16_t leds[] = {GPIO_PIN_12, GPIO_PIN_13, GPIO_PIN_14, GPIO_PIN_15}; uint8_t led_index = 0; /* USER CODE END 2 */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_WritePin(GPIOC, leds[led_index], GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOC, leds[led_index], GPIO_PIN_RESET); led_index++; if (led_index >= 4) { led_index = 0; } /* USER CODE END 3 */ } ``` 该代码使用了一个leds数组来存储GPIO引脚的编号,led_index变量用于记录当前点亮的LED的编号。在while循环中,每次点亮一个LED,然后将该LED灭掉,再将led_index加1,以便下一个循环点亮下一个LED。当led_index大于等于4时,将其重置为0,以便重新从第一个LED开始循环。 6. 编译并下载代码到STM32开发板中,即可看到流水灯效果。 以上就是使用STM32CubeMX实现流水灯的基本步骤,可以根据需要对代码进行修改,实现更多的灯效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值