您的位置 首页 硬件

解析STM32的库函数

意法半导体在推出STM32微控制器之初,也同时提供了一套完整细致的固件开发包,里面包含了在STM32开发过程中所涉及到的所有底层操作。通过在…

意法半导体在推出STM32微控制器之初,也一起供给了一套完好详尽的固件开发包,晒干包含了在STM32开发进程中所涉及到的一切底层操作。经过在程序开发中引进这样的固件开发包,能够使开发人员从杂乱冗余的底层寄存器操作中解放出来,将精力专心应用程序的开发上,这便是ST推出这样一个开发包的初衷。

但这关于许多从51/AVR这类单片机的开发转到STM32渠道的开发人员来说,必然有一个不适应的进程。由于程序开发不再是从寄存器层次开始,而要首先去了解STM32所供给的固件库。那是否一定要运用固件库呢?当然不是。但STM32微控制器的寄存器规划可不是常见的8位单片机能够比较,若自己细细揣摩各个寄存器的含义,必然会耗费适当的时刻,而且关于程序后续的保护,晋级来说也会添加资源的耗费。关于当时“时刻就是金钱”的职业劣质环境,无疑运用库函数进行STM32的产品开发是更好的挑选。本文将经过一个简略的比如对STM32的库函数做一个简略的分析。

以最常用的GPIO设备的初始化函数为例,如下程序段一:

GPIO_InitTypeDef GPIO_InitStructure; 1

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; 2

GPIO_InitStructure.GPIO_Speed =
GPIO_Speed_50MHz; 3

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 4

GPIO_Init(GPIOA , &GPIO_InitStructure);
5

这是一个在STM32的程序开发中常常运用到的GPIO初始化程序段,其功用是将GPIOA.4口初始化为推挽输出状况,并最大翻转速率为50MHz。下面逐个分化:

l 首先是1,该查办明显界说了一个GPIO_InitTypeDef类型的变量,名为GPIO_InitStructure,则找出GPIO_InitTypeDef的原型坐落“stm32f10x_gpio.h”文件,原型如下:

typedef struct

{

u16 GPIO_Pin;

GPIOSpeed_TypeDef GPIO_Speed;

GPIOMode_TypeDef GPIO_Mode;

}GPIO_InitTypeDef;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/264460.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部