Stm32f103rct6-LED闪烁
2021-09-27 来源:eefocus
main.c文件
#include #include #include #include 'bsp.h' //全局变量 定义 unsigned int key; //函数声明 void BSP_Init (void); /********************************************************************************************************* * 名 称 :main * 功能描述 : 初始化STM32 * 输入参数 : none * 返回参数 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊说明 : (特殊功能说明,例如:有参数检查等) *********************************************************************************************************/ int main(void) { /*************************************** 点亮PA8: APB2 > GPIOA > PA8 ****************************************/ //函数调用 //1、初始化配置 IO 时钟 BSP_Init(); //2、跳过去 //4、回来,改参数为:GPIOB GPIO_Pin_8 //拉低 while(1) { //拉低电平 GPIO_ResetBits(GPIOA,GPIO_Pin_8); delay_ms(100); //拉高电平 GPIO_SetBits(GPIOA,GPIO_Pin_8); delay_ms(100); } } bsp.c文件 #include void RCC_Configuration(void); /* 初始化系统时钟 */ void GPIO_Configuration(void); /* IO口的配置*/ //2、初始化配置 (然后往下拉) void BSP_Init(void) { RCC_Configuration(); /* 初始化系统时钟 */ GPIO_Configuration(); /* IO口配置 */ } /********************************************************************************************************* * 名 称 :RCC_Configuration * 功能描述 : 初始化系统时钟 * 输入参数 : none * 返回参数 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊说明 : (特殊功能说明,例如:有参数检查等) *********************************************************************************************************/ void RCC_Configuration(void) { SystemInit(); /*APB2 72MHz 配置timer时会倍频为144mhz,具体有哪些在此时钟上可跳进去查看*/ //3、改参数 ————> APB2 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE); } /********************************************************************************************************* * 名 称 :GPIO_Configuration * 功能描述 : 初始化IO口配置 * 输入参数 : none * 返回参数 : none. * 作 者 : * 修 改 :(日期、修改人名、修改原因) * 特殊说明 : (特殊功能说明,例如:有参数检查等) ******************* **************************************************************************************/ void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; /* LED灯的配置 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //通用推挽输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式最大速度50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); }