STM32(寄存器)--LED灯闪烁

1,;mini版stm32上有两个led灯,内接PA8,PD2;

2, led.h函数实现

在这里插入代码片
#include "led.h"
void LED_Init()
{
    
    
//开启端口A和D的时钟
 RCC->APB2ENR |=1<<2;
 RCC->APB2ENR |=1<<5;
 //端口配置及初始化
 GPIOA->CRH &=0XFFFFFFF0;
 GPIOA->CRH |=0X00000003;
 GPIOA->ODR |=1<<8;
 
 GPIOD->CRL &=0XFFFFF0FF;
 GPIOD->CRL |=0X00000300;
 GPIOD->ODR |=1<<2;
}

3:led.h函数实现;

在这里插入代码片
#ifndef _LED_H_
#define _LED_H_
#include "sys.h"
//使用位操作
#define LED0 PAout(8)
#define LED1 PDout(2)

void LED_Init(void);

#endif

4.主函数实现

在这里插入代码片
#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "usart.h"

int main(void)
{
    
    
 Stm32_Clock_Init(9);//设置PLL倍频位9,配置时钟为72M
 delay_init(72);//延时函数初始化
 LED_Init();//LED初始化
 while(1)//循环点亮灯
 {
    
    
  LED0=1;
  LED1=0;
  delay_ms(1000);
  LED0=0;
  LED1=1;
  delay_ms(1000);
 }
}

如有错误,请指正!
谢谢!!!

猜你喜欢

转载自blog.csdn.net/qq_45906993/article/details/108565609