STM32F103寄存器方式点亮LED流水灯
以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1秒。
一、通过工程模板建立工程
由于自己建立工程比较复杂,且对于初学者来说较为困难,所以我们选择网上已经编写好的工程模板来建立本项目,此处选用“洋桃电子”建立的STM32F103通用工程模板
工程模板下载链接
下载完成后解压,通过Keil打开解压后的工程文件,项目结构如下:
二、编码
1.新建led.c以及led.h文件
(1)在工程目录下新建led.c文件
代码如下:
#include "led.h"
void LED_Init(void){
//LED灯的接口初始化
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //初始化管脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置输出模式,推挽输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz