天天看點

【記錄】LED概要實作參考

概要

LED兩端有壓差時,LED可以發光。LED一端接V3.3,另一端接PIN腳。即,PIN腳高電平(1)時,LEF亮,PIN腳低電平(0)時,LED滅。PIN腳工作模式為輸出。

【記錄】LED概要實作參考

實作

步驟

  1. 使能IO時鐘
  2. 設定IO工作方式
  3. 設定LED初始狀态

接口

#ifndef __LED_H__
    #define __LED_H__

    #include "sys.h"

    #define LED0 PFout(9)
    #define LED1 PFout(10)

    void led_init(void);

    #endif //__LED_H__
           

實作

#include "led.h"

    void led_init(void)
    {
        RCC->AHB1ENR |= <<;
        GPIO_Set(GPIOF, PIN9|PIN10, GPIO_MODE_OUT, GPIO_OTYPE_PP, GPIO_SPEED_100M, GPIO_PUPD_PU);

        LED0 = ;
        LED1 = ;
    }
           

使用方式

實作LED閃爍

#include "sys.h"
    #include "delay.h"
    #include "led.h"

    static void sys_init(void);

    int main(void)
    {
        sys_init();

        while()
        {
            LED0 = !LED0;
            LED1 = !LED1;

            delay_ms();
        }
    }

    static void sys_init(void)
    {
        Stm32_Clock_Init(, , , );
        delay_init();
        led_init();

        LED0 = ;
        LED1 = ;
    }
           

參考

STM32F3與 F4 系列 Cortex M4 核心程式設計手冊

STM32F4 開發指南(寄存器版)

STM32F4xxx中文參考手冊

繼續閱讀