概要
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 |= 1<<5;
GPIO_Set(GPIOF, PIN9|PIN10, GPIO_MODE_OUT, GPIO_OTYPE_PP, GPIO_SPEED_100M, GPIO_PUPD_PU);
LED0 = 1;
LED1 = 1;
}
使用方式
实现LED闪烁
#include "sys.h"
#include "delay.h"
#include "led.h"
static void sys_init(void);
int main(void)
{
sys_init();
while(1)
{
LED0 = !LED0;
LED1 = !LED1;
delay_ms(500);
}
}
static void sys_init(void)
{
Stm32_Clock_Init(336, 8, 2, 7);
delay_init(168);
led_init();
LED0 = 0;
LED1 = 1;
}
参考
STM32F3与 F4 系列 Cortex M4 内核编程手册
STM32F4 开发指南(寄存器版)
STM32F4xxx中文参考手册