概要
LED兩端有壓差時,LED可以發光。LED一端接V3.3,另一端接PIN腳。即,PIN腳高電平(1)時,LEF亮,PIN腳低電平(0)時,LED滅。PIN腳工作模式為輸出。
實作
步驟
- 使能IO時鐘
- 設定IO工作方式
- 設定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中文參考手冊