库函数开发控制LED

利用STM32系列开发板与计算机Keil编程设计,载入程序以实现目标:

LED灯闪烁模式自动轮换------模式1:流水灯从左到右,从右到左依次闪烁三次

模式2:全部流水灯闪烁五次

模式3:流水灯编号1、3与流水灯编号2、4,依次闪烁三次

模式4:"流水灯1->流水灯4->流水灯2->流水灯3"依次点亮,循环四次

简单提供代码思路如下:

cpp 复制代码
#include "stm32f4xx.h"
#include "led.h"
#include "delay.h"

void led_flow_once(void) {

    LED0(1); Delay_ms(500); LED0(0);
    LED1(1); Delay_ms(500); LED1(0);
    LED2(1); Delay_ms(500); LED2(0);
    LED3(1); Delay_ms(500); LED3(0);
  
    LED3(1); Delay_ms(500); LED3(0);
    LED2(1); Delay_ms(500); LED2(0);
    LED1(1); Delay_ms(500); LED1(0);
    LED0(1); Delay_ms(500); LED0(0);
}


void led_all_blink(int n) {
    for(int i=0; i<n; i++){
        LED0(1); LED1(1); LED2(1); LED3(1);
        Delay_ms(500);
        LED0(0); LED1(0); LED2(0); LED3(0);
        Delay_ms(500);
    }
}


void led_group_blink(int n) {
    for(int i=0; i<n; i++){
        
        LED0(1); LED2(1);
        LED1(0); LED3(0);
        Delay_ms(500);
        
        LED0(0); LED2(0);
        LED1(1); LED3(1);
        Delay_ms(500);
    }
    
    LED0(0); LED1(0); LED2(0); LED3(0);
}


void led_order_1423(int n) {
    for(int i=0; i<n; i++){
        LED0(1); Delay_ms(500); LED0(0);
        LED3(1); Delay_ms(500); LED3(0);
        LED1(1); Delay_ms(500); LED1(0);
        LED2(1); Delay_ms(500); LED2(0);
    }
}

int main(void)
{
    LED_Hardware_Init();
    Delay_Init();

    while (1)
    {
        
        for(int i=0; i<3; i++){
            led_flow_once();
        }
      
        led_all_blink(5);
        
        led_group_blink(3);
        
        led_order_1423(4);
    }
}
相关推荐
lhbweilai25 分钟前
深挖FreeRTOS内核实现(二)
c语言·汇编·stm32·单片机
ebiobiz1 小时前
Zig 工具链编译 STM32 开发指南
驱动开发·stm32·嵌入式硬件
一条破秋裤3 小时前
Jetson 内核模块编译与板端验证记录
arm开发
aixingkong9213 小时前
Agentic AI时代的处理器算力需求和Nvidia、ARM、AMD等大厂的回答
arm开发·人工智能
Zw-awa13 小时前
反馈:让系统知道自己做得对不对
stm32
女神下凡16 小时前
芯参谋(38):NAND_MCP_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
剑指offer.20 小时前
ARM裸机开发-SPI
arm开发·嵌入式硬件·嵌入式·arm
sunoo-22921 小时前
【ARM嵌入式学习笔记第十天】i.MX6ULL eLCDIF控制器驱动RGB LCD全解析(硬件原理+寄存器配置+裸机代码)
arm开发·笔记·学习
狂奔蜗牛(bradley)1 天前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
..Dauntless..1 天前
【stm32】串口——在MCU内部的工作过程
stm32·单片机·嵌入式硬件