OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1674|回复: 2

如何学习STM32的库函数(以GPIO配置为例)

[复制链接]

10

主题

293

帖子

0

精华

高级会员

Rank: 4

积分
623
金钱
623
注册时间
2019-6-3
在线时间
107 小时
发表于 2019-6-18 11:31:36 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 迅得电子 于 2019-6-18 11:33 编辑

       初学STM32和51单片机转向STM32的大伙们注意啦!初次接触学习STM32,是不是要来一个入门仪式,实现STM32版的“Hello World”——点灯仪式,你会发现必然要用到GPIO的配置,不同于51系列直接接IO口赋予高点电平来实现LED等亮灭的过程,SMT32显得有些复杂,需要调用库函数,看起来很麻烦,刚接触有很多疑惑。这就要求我们要学会看STM32的库函数啦。然后分享一下自己收集的资料跟大家分享一下。介绍如何学习、解释STM32的库函数,以GPIO配置为例。下面是介绍内容。       意法半导体在推出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。下面逐一分解:
   
      算了算了,编译器有点难受,我直接上PDF文件给大家,大家看完觉得有用记得顶一下
  


如何学习STM32的库函数.pdf

310.69 KB, 下载次数: 61

最佳答案

查看完整内容[请看2#楼]

谢谢分享,请发分享帖
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-6-18 11:31:37 | 显示全部楼层
谢谢分享,请发分享帖
回复

使用道具 举报

10

主题

293

帖子

0

精华

高级会员

Rank: 4

积分
623
金钱
623
注册时间
2019-6-3
在线时间
107 小时
 楼主| 发表于 2019-6-19 08:37:39 | 显示全部楼层
不好意思啊,昨天发现发错了,然后发现删不掉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-16 08:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表