1本节从调用固件库来点亮LED灯;使用的是指南者的板子,选择的KEIL5编辑,

一,构建文件库并将相应的文件导入;

   创建文件,加入相应的文件库 工程创建完毕,这里不会可以在网上下载一个工程,把需要的复制过来再导入就可以了!

二,逻辑

  导入相关文件后开始书写,确保.h的文件导入

1,为了文件的调用重复采用,采用条件编译

#ifndef _BSP_LED_H
#define _BSP_LED_H#endif

2.操作LED灯,操作其GPIO    LED_GRIO_Config()初始化

  添加要控制的参数,引脚(Pin),模式,速度;

  做好在头文件里面的宏定义;  

  调用一个初始化函数,将三个值写道CRL寄存器里面;

3,打开时钟,时钟是我们的心脏

可以看到这里的时钟RCC在APB2 上面是由端口的 GPIOB,所以操作GPIOB及”使能“

4,初始化函数,操作ODR,查找GPIO.C文件调用SetBits和ResetBits控制灯光的关灭;

5,采用了一个延世函数,让灯光闪烁,亮起来不枯燥!

三,实际代码

1,bsp_led.c文件,相关的GPIO函数,都是在固件库里面查找使用的!

//bsp:board suport package 板机支持包
#include "bsp_led.h"  void LED_GPIO_Config(void)//初始化GPIO
{GPIO_InitTypeDef GPIO_InitStruct;//初始化结构体//开时钟 RCCRCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);//ENABLE 使能GPIO_InitStruct.GPIO_Pin= LED_G_GPIO_PIN ;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//通用推挽输出GPIO_InitStruct.GPIO_Speed= GPIO_Speed_50MHz;//速度 50MHZGPIO_Init(LED_G_GPIO_PORT,&GPIO_InitStruct);//初始化 端口  初始化的结构体(变量指针取地址)}

2,bes_led.h文件

 

#ifndef _BSP_LED_H
#define _BSP_LED_H#include "stm32f10x.h"#define LED_G_GPIO_PIN     GPIO_Pin_0   //GREEN 灯
#define LED_G_GPIO_PORT    GPIOB        //端口
#define LED_G_GPIO_CLK              RCC_APB2Periph_GPIOB#define ON    1
#define OFF   0#define LED_G(a)    if(a)\GPIO_ResetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN );\
else GPIO_SetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN );void LED_GPIO_Config(void);#endif /*_BSP_LED_H*/

3.main.c文件

#include "stm32f10x.h"   // 相当于51单片机中的  #include <reg51.h>#include"bsp_led.h"void Delay(uint32_t count)
{for(;count!=0;count--);
}
int main(void)
{// 来到这里的时候,系统的时钟已经被配置成72M。LED_GPIO_Config();while(1){//GPIO_SetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN );//灭LED_G(OFF);  //带参宏Delay(0xFFFFF);//GPIO_ResetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN );//亮LED_G(ON);Delay(0xFFFFF);}
}

运行成功!!

附加:流水灯

1.流水灯就是使灯在灯闪烁时,亮起来不同的颜色,三基色RGB,这里只需要定义另外两个灯的引脚和条件,依次亮起来就可以了,也可以使同一时间,两个或者三个都打开,产生更多的颜色,增加趣味性!

KEIL 5 的点灯相关推荐

  1. STM32学习——重点知识总结

    初始STM32 什么是STM32 1.ST- 意法半导体,是一个公司名,即SOC厂商 2.M- Microelectronics的缩写,表示微控制器,大家注意微控制 器和微处理器的区别 3.32- 3 ...

  2. 【嵌入式10】stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期

    stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期 一.题目要求 二.STM32CubeMX简介 1.利用CubeMX新建工程点亮LED灯 1)前期准备 2)新建工程 2.界面 ...

  3. AIR105 基于Keil开发点灯程序配置过程

    AIR105 基于Keil开发点灯程序配置过程

  4. keil (v5.24.2.0)、protues8.9、STM32F103R6,点灯试验仿真protues报错unclocked peripheral at 0x40010800

    ​​​​​​​使用keil和protues进行联合仿真时,protues报错:Access to register of unclocked peripheral at 0x40010800 caus ...

  5. keil 查看 stm32 io波形_这样学习STM32单片机,从菜鸟到牛人很简单!

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  6. keil 查看 stm32 io波形_如何系统地入门学习stm32?

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  7. STM32F103实现点灯(固件库方式)

    参考:stm32上实现点灯 作者:SKY丶丿平才 发布时间: 2021-03-20 16:51:06 网址:https://blog.csdn.net/weixin_48264057/article/ ...

  8. STM32F103实现点灯(寄存器方式)

    参考:STM32F103系列最简易版点灯程序 作者:一只青木呀 发布时间:2020-10-21 11:40:38 网址:https://blog.csdn.net/weixin_45309916/ar ...

  9. keil git 编译文件_交叉编译链下的Makefile(STM32F4xx)

    文章围绕makefile文件的编写方式,向读者讲述如何在ubuntu平台上用交叉编译链 arm-none-eabi- 编译出 STM32F4xx 系列 MCU 的执行文件.文章核心在于讲述 arm-n ...

最新文章

  1. HTML页面中点击按钮关闭页面几种方式与取消
  2. spark RDD操作的底层实现原理
  3. 猜物品游戏java编程_小猿圈Java初学者练习小案例:猜数字游戏
  4. 众推架构的进一步讨论
  5. 用到oracle是不是就是cs架构,用Oracle 的2Tier协议录制脚本模拟CS系统测试的案例和注意事项pdf...
  6. powerbi python词云图_使用Power BI制作可爱的词云图
  7. 农村新兴致富行业,小家电玩具换旧手机,最多月入几十万
  8. ssis配置文件优先级_SSIS优先约束概述
  9. 复合火焰探测传感器_智能消防水炮能够自动跟踪火焰吗?
  10. 漫画:不止于存储的智能云相册
  11. 软件工程基础作业 可行性与需求分析
  12. 【Scratch案例教学】Scratch九九乘法表 少儿编程Scratch创意编程案例教学
  13. SIP软电话开发的基本条件和要点
  14. PS照片排版1寸2寸等及照片规格
  15. mediawiki搭建使用
  16. css开启3d加速的属性,开启3D加速,提高游戏速度
  17. php判断是否submit,submit什么意思 php提交表单时判断 if$_POST[submit]与 ifisset$_POST[submit] 的区别...
  18. 百度脑图DesktopNaotu
  19. ActionScript 3.0 杂乱笔记3
  20. python--数据清洗

热门文章

  1. 一年读100本书---HHR,NZJ---19年最后4个月
  2. 转:【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
  3. http请求状态码400的原因总结
  4. 2023美赛数学建模ABCDEF题思路模型代码
  5. 数字音频总线A2B开发详解十六(A2B-一主一从:ADAU1701作为全新Slave板的DSP)
  6. Silverlight 2.5D RPG游戏技巧与特效处理:(三)动态光影
  7. [译] Genymotion 现在提供了 Open GApps 安装程序
  8. 2022城市更新白皮书 附下载
  9. python和labview的区别_测量仪器科普:LabVIEW与虚拟仪器那点事
  10. 25佳漂亮的结婚邀请 婚礼请柬网站设计