led.h
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endife
led.c
#include "led.h"
#include "stm32f4xx.h"
void LED_Init(void)
{
RCC->AHB1ENR|=1<<5; //或运算 |
//F9
GPIOF->MODER &=~(3<<2*9);
GPIOF->MODER |=1<<(2*9);
GPIOF->OSPEEDR &=~(3<<2*9);
GPIOF->OSPEEDR |=2<<(2*9);
GPIOF->PUPDR &=~(3<<2*9);
GPIOF->PUPDR |=1<<(2*9);
GPIOF->OTYPER &=~(1<<9);
GPIOF->OTYPER |=0<<9;
GPIOF->ODR |=1<<9; //1
//F10
GPIOF->MODER &=~(3<<2*10);
GPIOF->MODER |=1<<(2*10);
GPIOF->OSPEEDR &=~(3<<2*10);
GPIOF->OSPEEDR |=2<<(2*10);
GPIOF->PUPDR &=~(3<<2*10);
GPIOF->PUPDR |=1<<(2*10);
GPIOF->OTYPER &=~(1<<10);
GPIOF->OTYPER |=0<<10;
GPIOF->ODR |=1<<10;
}
main.c
#include "led.h"
#include "stm32f4xx.h"
#include "delay.h" //延时函数
int main(void)
{
delay_Init(168); //延时函数初始化
LED_Init(); //初始化LED模式
while(1)
{
GPIOF->ODR &=~(1<<9);
GPIOF->ODR &=~(1<<10);
delay_ms(500);
GPIOF->ODR |=1<<9;
GPIOF->ODR |=1<<10;
delay_ms(500);
}
}