stm32f103 LED灯简单程序实现

(基于奋斗stm32_v5开发板)

1.创建工程之配置库文件


2.编写main.c代码

#include"stm32f10x.h"

#define ON           1
#define OFF          0

#define DELAY_TIME   0x3FFFFF

enum 
{
  LED1 = 0,
	LED2,
	LED3,
	MAX_LED,
};

typedef struct led_gpio_s
{
	int                 num;    /* LED编号 */
	GPIO_TypeDef        *group; /* LED使用的GPIO在哪一组: GPIOB or GPIOD */	
  uint16_t            pin;    /* LED使用的GPIO组中的那一个pin: GPIO_Pin_x */
} led_gpio_t;


led_gpio_t        leds_gpio[MAX_LED] =
{
		{LED1, GPIOB, GPIO_Pin_5}, /* LED1 用的GPB5 */
		{LED2, GPIOD, GPIO_Pin_6}, /* LED2 用的GPD6 */
		{LED3, GPIOD, GPIO_Pin_3}, /* LED3 用的GPD3 */		
};


void init_led_gpio(void)
{
	int                i;
	GPIO_InitTypeDef   GPIO_InitStructure;

	/* 使能PB和PD组 GPIO的时钟 */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE);	
	
	/*设置 PB5(LED1), PD6(LED2), PD3(LED3)为 GPIO 输出推免模式,口线翻转速度为50MHz */
	for(i=0; i<MAX_LED; i++)
	{
		/*设置 PB5(LED1)为 GPIO 输出推免模式,口线翻转速度为50MHz */
		GPIO_InitStructure.GPIO_Pin = leds_gpio[i].pin;				     
		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
		GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
		GPIO_Init(leds_gpio[i].group, &GPIO_InitStructure);						
  }
}

void turn_led(int which, int cmd)
{
   if(which<0 || which> MAX_LED )
		 return;
	 
	 if(OFF == cmd)
		 GPIO_ResetBits(leds_gpio[which].group, leds_gpio[which].pin);
	 else
		 GPIO_SetBits(leds_gpio[which].group, leds_gpio[which].pin);
}

void Delay(__IO uint32_t nCount)
{
   for(; nCount != 0; nCount--) ;
}

int main(void)
{
	/* 初始化系统时钟 */
  SystemInit();
	
	/* 初始化各个LED的GPIO管脚 */
	init_led_gpio();

  while(1)
  {
		  /* 把LED1、LED2、LED3点亮 */
			turn_led(LED1, ON);
		  turn_led(LED2, ON);
			turn_led(LED3, ON);
		  Delay(DELAY_TIME);

		  /* 把LED1、LED2、LED3灭掉 */		
			turn_led(LED2, OFF);
		  turn_led(LED1, OFF);
			turn_led(LED3, OFF);
		  Delay(DELAY_TIME);
  }
}
(进行相关设置并编译)

3.配置J-LINK调试

开发板连接:


调试:



4.LED灯闪烁现象(效果:三灯以一定频率闪烁)


5.出现问题排除

(一)


解决方法:给开发板上电

(二)



解决方法:


排错前:下方空无一物


排错后:


发布了9 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/T_zty_Y/article/details/79760421