库函数开发控制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);
    }
}
相关推荐
jiecy1 小时前
在 ARM 的 UOS 系统里布署 WebDav
arm开发·docker·debian
女神下凡2 小时前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
起个网名真难~12 小时前
STM32F103_Bootloader_从零到UART升级成功_博客原稿
stm32·单片机·嵌入式硬件
Zevalin爱灰灰14 小时前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
小李不想当小白15 小时前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Zw-awa16 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
stm32
La Pulga17 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
Zevalin爱灰灰19 小时前
Linux入门第二部分(ARM裸机篇) 第三章 汇编LED驱动实验
linux·汇编·arm开发
铅笔小新z20 小时前
【stm32】WWDG(窗口看门狗)
stm32·单片机·嵌入式硬件
La Pulga21 小时前
【FreeRTOS源码学习笔记】任务创建
笔记·stm32·mcu·学习·嵌入式·freertos·实时操作系统