(基于奋斗stm32_v5开发板)

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


2.编写main.c代码

#include"stm32f10x.h"#define ON           1
#define OFF          0#define DELAY_TIME   0x3FFFFFenum
{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);elseGPIO_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.出现问题排除

(一)


解决方法:给开发板上电

(二)



解决方法:


排错前:下方空无一物


排错后:


stm32f103 LED灯简单程序实现相关推荐

  1. 52单片机led灯闪烁c语言程序,单片机LED灯闪烁程序

    原标题:单片机LED灯闪烁程序 点亮 小灯的程序我们第二课完成了,就是让 LED = 0.熄灭小灯的程序也很简单,就是 LED = 1.点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点 ...

  2. 单片机c语言led灯闪烁程序,单片机LED灯闪烁程序

    点亮 LED 小灯的程序我们第二课完成了,就是让 LED = 0.熄灭小灯的程序也很简单,就是 LED = 1.点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁 ...

  3. 51C语言中断LED闪烁,单片机定时器中断实现LED灯闪烁程序

    运用定时器0工作在方式1(16位计数器)实现LED灯的闪烁.先来看看定时器0工作在方式1的逻辑结构图. 从上图可以看到,GATE先经过非门,再和INT0引脚作为或门的输入.这里简单提一下数字电路中的与 ...

  4. 3.6 LED灯闪烁程序

    版权声明:本文为芝麻软件工作室原创文章,未经芝麻软件工作室允许不得转载. https://blog.csdn.net/softn/article/details/51823350 点亮 LED 小灯的 ...

  5. 按键控制led灯python程序_树莓派使用threading函数实现多按键控制LED灯

    讲两个知识点.一个是关于上拉和下拉,另一个是关于threading函数. 1.上拉电阻和下拉电阻 上拉就是把一个不确定的信号通过一个电阻连接到高电位,这样在开关断开是信号为高电位,开关合上时信号为低电 ...

  6. 52单片机led灯闪烁c语言程序,单片机 LED 灯闪烁程序

    点亮 LED 小灯的程序我们第二课完成了,就是让 LED = 0.熄灭小灯的程序也很简单,就是 LED = 1.点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁 ...

  7. 按键控制led灯python程序_按键控制led灯

    //通过按键控制对应的led灯亮灭,按一下亮,再按一下灭,消抖时间20ms module key_led ( input clk , rst_n, input [2:0]key , output  l ...

  8. 51单片机led灯闪烁程序C语言,51单片机控制led灯闪烁程序

    Keil 写程序的过程,建立工程-->保存工程-->建立文件-->添加文件到工程-->编写程序-->编译-->下载程序. #include sbit LED = P ...

  9. python流水灯简单程序_简单流水灯的实现程序

    单片机流水灯程序如下: (1)流水灯的汇编语言实现 ORG       0000H         ;程序从0地址开始 START:      MOV      A,#0FEH        ; AC ...

最新文章

  1. BaaS模式的开发思路
  2. swoole websocket服务
  3. dnf超时空漩涡副本路线流程图_DNF:超时空漩涡开荒全攻略一览,你顺利通关了么?...
  4. TComboBox下拉取值
  5. PHP代码优化的细节
  6. (转)如果知道dll文件是面向32位系统还是面向64位系统的?
  7. 在Kubernetes上运行区块链服务(BaaS)
  8. 电商库存详解:三层(销售层、调度层、仓库层)来看库存设计
  9. MongoDB索引,性能分析
  10. oracle之三闪回flashback
  11. 2017年初BAT的JAVA面试题汇集
  12. 用EasyPoi导入Excel
  13. ShowAPI识别验证码
  14. PTA题目:顺序表基本操作
  15. 显卡对应的Compute Capability值
  16. 一个草根前端人的焦虑
  17. Java游戏聊斋聂小倩_【聊斋故事汇】之聂小倩(篇一)
  18. mysql将公历农历转换_SQL农历转换函数(显示中文格式,加入润月的显示)
  19. Favicon.ico图片在线制作网站PHP源码+支持多种图片格式转换
  20. Python常用模块4-Python的datetime及time模块简介

热门文章

  1. webmatrix安装_研究:用于前端开发的WebMatrix
  2. CSDN的第一篇文章——聊聊股市
  3. 切换输入法的c#代码
  4. 【人工智能】什么是数据标注?
  5. 基于STM32的汇编程序
  6. W5500问题集锦(二)
  7. lotus notes
  8. oracle重新编译视图,Oracle视图编译错误解决办法
  9. mybatis调用oracle视图
  10. maya中镜头场景的制作