库函数开发控制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);
    }
}
相关推荐
独处东汉24 分钟前
freertos开发空气检测仪之完结_Air_check_App 工程概览与使用说明
stm32·单片机·嵌入式硬件·freertos
aseity1 小时前
Debian10 ARM KVM 虚拟机安装记录
arm开发
li星野3 小时前
RTOS面试完整模拟题(嵌入式系统方向)
arm开发·面试·职场和发展
爱喝纯牛奶的柠檬3 小时前
基于STM32的4*4矩阵软键盘驱动
stm32·嵌入式硬件·矩阵
逐步前行4 小时前
STM32_DMA_寄存器操作
stm32·单片机·嵌入式硬件
路溪非溪6 小时前
BLE的广播、扫描和连接等工作机制总结
linux·arm开发·驱动开发
FakeOccupational6 小时前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存结构图 + MPU内存保护单元 + Cache基本操作 + Cache&DMA 时序图
笔记·stm32·缓存
LCG元6 小时前
基于STM32CubeMX的HAL库串口通信与DMA传输深度优化
stm32·单片机·嵌入式硬件
forAllforMe8 小时前
LAN9252 从机模式寄存器的配置代码示例
stm32·单片机·嵌入式硬件
忆和熙8 小时前
AArch64异常指令与异常表(ARMv8异常机制——AArch64异常调用指令与异常表)
arm开发·arm异常