开发环境:keil5 MDK-ARM
芯片:stm32f103c8t6
led.c代码如下
#include "led.h"
void Led_Init(void)
{
GPIO_InitTypeDef LED_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能GPIOC端口的时钟
LED_InitStructure.GPIO_Pin = GPIO_Pin_13; //根据原理图,我们知道led对应的引脚是PC13
LED_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置为普通推挽输出
LED_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //输出速度为2MHz
GPIO_Init(GPIOC, &LED_InitStructure);
}
void Led_Open(void) //打开LED的函数
{
GPIO_ResetBits(GPIOC, GPIO_Pin_13); //这里根据原理图来确定是给低电平还是高电平
}
void Led_Close(void) //关闭LED的函数
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); //同上
}
led.h代码如下:
#include "stm32f10x.h"
void Led_Init(void);
void Led_Open(void);
void Led_Close(void);
main.c代码如下:
#include "stm32f10x.h"
#include "led.h"
int main()
{
Led_Init();
while(1)
{
Led_Open();
}
}