登录/注册

stm32跑马灯程序代码

stm32跑马灯程序代码

更多

以下是基于STM32的跑马灯程序代码(使用HAL库),以中文注释说明:

#include "main.h"
#include "stm32f1xx_hal.h"

// 定义LED连接的GPIO引脚(根据实际电路修改)
#define LED1_PIN GPIO_PIN_5   // PA5
#define LED2_PIN GPIO_PIN_6   // PA6
#define LED3_PIN GPIO_PIN_7   // PA7
#define LED_PORT GPIOA

void SystemClock_Config(void);
static void MX_GPIO_Init(void);

int main(void) {
  HAL_Init();                     // 初始化HAL库
  SystemClock_Config();           // 配置系统时钟
  MX_GPIO_Init();                 // 初始化GPIO

  uint8_t leds[] = {LED1_PIN, LED2_PIN, LED3_PIN};  // LED引脚数组
  uint8_t led_count = sizeof(leds)/sizeof(leds[0]); // LED数量
  uint8_t current_led = 0;

  while (1) {
    // 关闭所有LED
    for (int i = 0; i < led_count; i++) {
      HAL_GPIO_WritePin(LED_PORT, leds[i], GPIO_PIN_RESET);
    }

    // 点亮当前LED
    HAL_GPIO_WritePin(LED_PORT, leds[current_led], GPIO_PIN_SET);

    // 更新LED索引(循环递增)
    current_led = (current_led + 1) % led_count;

    HAL_Delay(300);  // 延时300ms(可根据需要调整)
  }
}

// 系统时钟配置(由STM32CubeMX生成)
void SystemClock_Config(void) {
  // ... 具体时钟配置代码(省略)
}

// GPIO初始化函数
static void MX_GPIO_Init(void) {
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  __HAL_RCC_GPIOA_CLK_ENABLE();  // 使能GPIOA时钟

  // 配置LED引脚为推挽输出
  GPIO_InitStruct.Pin = LED1_PIN | LED2_PIN | LED3_PIN;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;     // 推挽输出
  GPIO_InitStruct.Pull = GPIO_NOPULL;             // 无上/下拉
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;    // 低速
  HAL_GPIO_Init(LED_PORT, &GPIO_InitStruct);      // 初始化GPIO
}

关键说明:

  1. 硬件连接:示例使用PA5、PA6、PA7连接3个LED,需根据实际电路修改引脚定义
  2. 效果:LED依次点亮(类似跑马灯循环效果)
  3. 延时控制:通过HAL_Delay(300)调整流水速度
  4. 扩展LED
    • 增加leds[]数组元素即可支持更多LED
    • 修改LED_PORT和引脚定义匹配实际硬件

使用步骤:

  1. 在STM32CubeMX中配置对应引脚为GPIO_Output
  2. 复制上述代码到main.c的对应位置
  3. 根据开发板电路修改LED引脚定义
  4. 编译下载到开发板

注意:不同STM32系列可能需要调整头文件(如F4系列使用stm32f4xx_hal.h)和时钟配置。

为何工程师测试PLC都喜欢用跑马灯程序

工程师在测试PLC时经常使用跑马灯程序,主要有以下几个原因: (1)简单易懂:跑马灯程

2023-12-06 08:35:02

跑马灯PLC控制编程代码

PLC是一种广泛应用于工业自动化领域的设备。通过编程,PLC可以实现各种复杂的控制逻辑,例如跑马灯控制。

2023-09-13 14:36:15

跑马灯控制器怎么接线

跑马灯控制器:又称 LED跑马灯控制器,可以控制LED全彩灯、LED全彩灯带,显示跑马灯的效果。

2022-09-19 16:45:06

基于STM32单片机跑马灯使用库文件设计源代码

基于STM32单片机跑马灯使用库文件设计源代码

资料下载 木头1233 2023-04-26 14:40:42

跑马灯代码

跑马灯代码

资料下载 1104501635 2022-03-29 17:01:00

stm32跑马灯实验

stm32跑马灯实验

资料下载 佚名 2021-12-07 11:21:06

STM32跑马灯实验

STM32跑马灯实验

资料下载 33391 2021-11-21 18:36:03

使用51单片机设计的跑马灯程序免费下载

本文档的主要内容详细介绍的是使用51单片机设计的跑马灯程序免费下载。

资料下载 佚名 2019-07-09 17:40:00

STM32跑马灯程序设计及仿真

STM32程序设计以及原理图绘制STM32跑马灯

2021-12-06 06:49:31

跑马灯实验代码相关资料推荐

51学习记录欢迎光临1跑马灯实验代码1--四、课堂实验4:认识中断系统和中断服务程序的编写欢迎光临1

2021-12-01 07:09:36

STM32跑马灯配置流程是怎样的?

STM32跑马灯配置流程是怎样的?

2021-11-23 07:36:45

如何利用STM32实现跑马灯程序和创建工程?

如何利用STM32实现跑马灯程序和创建工程?

2021-11-04 06:41:18

请问如何去编写基于stm32跑马灯程序

请问如何去编写基于stm32的跑马灯程序呢?

2021-10-25 08:46:50

介绍STM32F429的GPIO应用之跑马灯

第18章 STM32F429的GPIO应用之跑马灯本章教程为大家介绍STM32F429的GPIO应用之

2021-08-10 07:20:09

labview跑马灯程序

做一个简单的跑马灯程序供大家参考

2019-12-01 14:42:17
7天热门专题 换一换
相关标签