LED电路
stm32f103中LED灯的电路图
stm32f103rmt6引脚图
stm32的引脚图
核心代码
//led.c文件
void led_init(void){
GPIO_InitTypeDef Gpio_Value;
//通过APB2总线使能gpio组的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Peroph_GPIOC,ENABLE);
//初始化GPIO 1 2 3管脚 根据芯片引脚图可以找到这三个引脚
Gpio_Value.GPIO_Pin=GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3;
//将管脚设置为推挽输出模式
//设置频率
Gpio_Value.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&Gpio_Value);
}
//设置led灯的开关 void led_on(int num){ switch(num){ case 0: GPIO_SetBits(GPIOC,GPIO_Pin_1); //将引脚设置为高电平 break; case 1: GPIO_SetBits(GPIOC,GPIO_Pin_2); break; case 2: GPIO_SetBits(GPIOC,GPIO_Pin_3); break; } return ; } void led_off(int num){ switch(num){ case 0: GPIO_ResetBits(GPIOC,GPIO_Pin_1); //将引脚设置为低电平 break; case 1: GPIO_ResetBits(GPIOC,GPIO_Pin_2); break; case 2: GPIO_ResetBits(GPIOC,GPIO_Pin_3); break; } return ; }
//main函数文件
#include "led.h"
int main(){
led_init(); //初始化
while(1){ //写一个while死循环让程序一直运行
led_on(0);
led_on(1);
led_on(2);
//delay()写一个延时函数实现灯亮灭
/*
led_off(0);
led_off(1); //不关闭灯将一直亮
led_off(2);
*/
}
}