Stm32f103rct6-LED闪烁
main.c文件
#include <includes.h>
#include <stdlib.h>
#include <stdint.h>
#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<includes.h>
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);
}