您好,欢迎进入u8国际电动伸缩门有限公司官网!
u8国际|u8国际官方网站|u8国际网址最新

联系我们

邮箱:youweb@admin.com
电话:@HASHKFK
地址:广东省广州市番禺经济开发区 在线咨询

u8国际常见问题

u8国际-u8国际官方网站-网址最新单片机点亮LED进修笔记事前思维逻辑以及准备事项

发布日期:2025-01-02 17:11 浏览次数:

  u8国际,u8国际官方网站,u8国际网站最新,u8国际网站,u8国际网址,u8国际链接

u8国际-u8国际官方网站-u8国际网址最新单片机点亮LED进修笔记事前思维逻辑以及准备事项

  通过前一章节对寄存器开发方式的简略介绍后,在本小节中运用寄存器开发方式达到对LED灯的亮灭控制。下图是一个关于GPIO的构造图,通过对其了解能够知道GPIO能够被配置成输写、输出、复用功能以及模拟输写输出四种模式。其中输写模式又被细分为模拟(ADC采集)、上拉、下拉以及浮空(输写电平不确定,完全由外部的输写决定,按键电路)模式;输出模式被分为推挽(输出高低电平)和开漏模式(输出高阻态或低电平);复用功能也被分为推挽和开漏两种模式,但是输出信号源于其它外设,输写正常可用,但一般直接用外设的寄存器来获取该数据信号;模拟输写输出模式,高低拉没影响。

  本小节应用库函数开发的方式来点亮一颗LED。反复上一章节中库函数工程模板的建设,对stm32的GPIO进行操作就须要将规范库中的stm32f10x_gpio.c和stm32f10x_cc.c文件添加到项目中,前者是关于GPIO操作的函数声明及模式选项配置的宏定义,后者是关于时钟的一些函数和宏定义。在这里采用模块化编程,也就是将led看做一个功能模块,在项目中新建led.c及led.h文件,最后在main.c文件中包括运用。详细的代码如下所示:

  紧接着在keil5中翻开自动生成的项目,如下图中所示。能够看出整个项目标构成与规范库开发的方式类似,只不过这里的代码都是自动生成的。其中gpio.c文件中的代码为GPIO初始化与上一节中的led.c中的函数功能是相同的,只不过这里是运用了HAL库函数。在须要注意的是假如须要在这些CubeMX软件自动生成的文件中编写自定义的代码,是须要将其写在下述这段注释之间的,XXX表示的是某一个模块,假如Init(初始化)、SystInit(系统时钟初始化)等等;

  经过了对LED的简略操作,能够发此时这三种方式中,寄存器开发方式最为复杂。其在编写程序前须要查找好所运用寄存器的地址等有关信息,出现了bug时很难精准的定位、开发周期长的缺少点,因此寄存器开发常常不会被采用。规范库方式在其根底上简化了很多步骤,只须要通过调用有关外设的接口函数便可达到对应的功能,因此这一种方式也被广泛地应用到stm32单片机的开发中。HAL库开发方式由于CubeMX软件的存在,能够以图形化的方式对各种外设进行配置,大大方便了配置的步骤流程相比较于规范库来说还要愈加便捷。

联系方式

全国服务热线

@HASHKFK

手 机:@HASHKFK

地 址:广东省广州市番禺经济开发区

扫一扫,加微信

Copyright © 2002-2024 u8国际电动伸缩门有限公司 版权所有 非商用版本 备案号: