STM32F103点灯程序-适用于STM32F103C8T6、STM32F103RCT6
1.main函数
#include "stm32f10x.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStruct; //定义CPIO初始化类型定义
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能GPIOA的时钟
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8; //填入LED连接的引脚
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; //设置该引脚的模式为推挽输出
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; //设置引脚的输出速度
GPIO_Init(GPIOA,&GPIO_InitStruct); //使用GPIO初始化函数 初始化 所需要用的引脚
while(1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8); //给PA8低电平使小灯亮起来
//GPIO_SetBits(GPIOA,GPIO_Pin_8); //给PA8高电平使小灯灭
}
}
2.需要用到的库文件和个人文件
STM32的库文件有很多,主要在STM32F103\固件库\FWlib中,但是我们点灯程序只需要一个gpio.c和rcc.c的库函数文件。当然图片中的其他文件也是不可或缺的。
gpio.c:用于配置GPIO引脚的初始化
rcc.c:使能引脚的时钟
3.关于STM32F103点灯函数的步骤
1.打开相关的GPIOx的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE);
2.定义GPIO初始化需要的结构体并配置相关的参数
GPIO_InitTypeDef GPIO_InitStruct;
3.使用初始化GPIO函数对所需要的引脚进行初始化
GPIO_Init(GPIOx,&GPIO_InitStruct);
4.点亮LED
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
4.相关介绍及解释
1.我所使用的开发板的LED是连接芯片的PA8引脚,每个板的LED位置可能都有所不同
2.相关名词的含义
GPIO:通用输入\输出端口
推挽输出:可以让引脚输出高电平或者低电平,类似51单片机的给Pin口置1或者0
使能时钟:微控制器允许输出时钟信号到外部MCO引脚。只有使能该GPIO的时钟才能让这个端口输入或输出信号,使能就类似打开