库函数开发控制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);
    }
}
相关推荐
听情歌落俗44 分钟前
ARM架构-硬件架构和汇编指令
汇编·arm开发·硬件架构
炸膛坦客1 小时前
Cortex-M3-STM32F1 开发:(五十)软件模拟 IIC 和硬件 IIC 的区别,以及软件 IIC 配置步骤及相关函数,以及相关问题
stm32·单片机·嵌入式硬件
LongRunning2 小时前
【BLE】STM32WB55+CubeMAX_BLE配置
stm32
殷忆枫2 小时前
基于STM32的ESP8266连接Onenet(HAL库)
stm32·单片机·嵌入式硬件
PegasusYu3 小时前
STM32校准读取激光测距传感器VL53L0X距离数据
stm32·测距·stm32cubeide·激光测距·vl53l0x·飞行时间·stm32g031f8
一枝小雨4 小时前
【OTA专题】15 实现App后台无感下载固件
stm32·单片机·嵌入式·ota·bootloader
TEC_INO4 小时前
STM32_10:SPI
stm32·单片机·嵌入式硬件
polarislove02145 小时前
10.3[ADC]采样时间和转换时间-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
创思通信5 小时前
STM32L151RCT6 BC20 采集温湿度DHT11 采集GPS定位 和ADC发送到最新版本ONENET物联网开放平台
stm32·嵌入式硬件·物联网
__万波__5 小时前
STM32建立完全空白的工程
stm32·单片机·嵌入式硬件