你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3378|回复: 11

[STM32L476] 【NUCLEO-L476RG开发】 基于Low Layer的GPIO配置

[复制链接]

23

主题

200

回帖

11

蝴蝶豆

金牌会员

最后登录
2020-12-8
发表于 2015-11-14 10:46:00 | 显示全部楼层 |阅读模式
HAL库用着是方便,可是函数中的各种assert_param真是多啊,效率就下降了。所以就用Low Layer的库了。
首先第一个程序就与hello world一样的地位 ,无疑就是GPIO了,有了GPIO就是基础。

GPIO的设置流程如下图
捕获.PNG
对就的函数调用如下。
  1.   LED2_GPIO_CLK_ENABLE();
  2.   LL_GPIO_SetPinMode(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_MODE_OUTPUT);
  3.   LL_GPIO_SetPinOutputType(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_OUTPUT_PUSHPULL);
  4.   LL_GPIO_SetPinSpeed(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_SPEED_LOW);
  5.   LL_GPIO_SetPinPull(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_PULL_NO);
复制代码
可以看到,每个函数中带入的参数,都会有GPIO组号,与PIN号,那么每个函数都要对相同的寄存器进行设置,细说来,这样的效率也不是太高,相比直接配置寄存器来说,还是不够效率的 。
所以可以将将上面几个函数合并成一个,对于相同的参数只设置 一次就可以 了。
时行了上面的设置后,就可以使用GPIO了,当然还是对GPIO的数据寄存器进行读写了。
相对于STM32F407系列来说。
GPIO的速度设置不再是具体的速度,而是一些比较模糊的,还要对照手册来看。
  1. #define LL_GPIO_SPEED_LOW                  ((uint32_t)0x00000000) /*!< Select I/O low output speed */
  2. #define LL_GPIO_SPEED_MEDIUM               GPIO_OSPEEDER_OSPEEDR0_0 /*!< Select I/O medium output speed */
  3. #define LL_GPIO_SPEED_FAST                 GPIO_OSPEEDER_OSPEEDR0_1 /*!< Select I/O fast output speed */
  4. #define LL_GPIO_SPEED_HIGH                 GPIO_OSPEEDER_OSPEEDR0 /*!< Select I/O high output speed */
复制代码

而不是F407中提到的
  1.   GPIO_Speed_2MHz   = 0x00, /*!< Low speed */
  2.   GPIO_Speed_25MHz  = 0x01, /*!< Medium speed */
  3.   GPIO_Speed_50MHz  = 0x02, /*!< Fast speed */
  4.   GPIO_Speed_100MHz = 0x03  /*!< High speed on 30 pF (80 MHz Output max speed on 15 pF) */
复制代码




评分

参与人数 1ST金币 +10 收起 理由
沐紫 + 10

查看全部评分

回复

使用道具 举报

8

主题

407

回帖

0

蝴蝶豆

高级会员

最后登录
2016-11-24
发表于 2015-11-14 11:42:12 | 显示全部楼层
楼主你到底有没有板子……?
回复 支持 反对

使用道具 举报

9

主题

259

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-4-24
发表于 2015-11-14 14:59:46 | 显示全部楼层
回复 支持 反对

使用道具 举报

27

主题

1709

回帖

42

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-11-14 15:13:28 | 显示全部楼层

回复 支持 反对

使用道具 举报

23

主题

200

回帖

11

蝴蝶豆

金牌会员

最后登录
2020-12-8
 楼主| 发表于 2015-11-14 21:49:33 | 显示全部楼层
alvin_ 发表于 2015-11-14 11:42
楼主你到底有没有板子……?

呵呵...................
回复 支持 反对

使用道具 举报

41

主题

2476

回帖

282

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-11-14 21:51:08 | 显示全部楼层
alvin_ 发表于 2015-11-14 11:42
楼主你到底有没有板子……?

你这是在刺激楼主么
回复 支持 反对

使用道具 举报

8

主题

407

回帖

0

蝴蝶豆

高级会员

最后登录
2016-11-24
发表于 2015-11-15 09:29:47 | 显示全部楼层
jinyi7016 发表于 2015-11-14 21:49
呵呵...................

不是啊你抢到板子搞了半天分享连个图都没看到,也没有工程文件……L476这么强大的板子老弄这些什么入门试用配置之类的分享有意思吗?
回复 支持 反对

使用道具 举报

8

主题

407

回帖

0

蝴蝶豆

高级会员

最后登录
2016-11-24
发表于 2015-11-15 09:30:43 | 显示全部楼层
dsjsjf 发表于 2015-11-14 21:51
你这是在刺激楼主么

我就问下有没有板子啊既然抢到了板子,这分享连个配置文档都没有分享,也没见到板子,这有什么刺激的?又不是没抢到,你抢到了对吧?
回复 支持 反对

使用道具 举报

41

主题

2476

回帖

282

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-11-16 18:46:28 | 显示全部楼层
alvin_ 发表于 2015-11-15 09:30
我就问下有没有板子啊既然抢到了板子,这分享连个配置文档都没有分享,也没见到板子,这有什么刺激的?又 ...

对的,,,,
回复 支持 反对

使用道具 举报

8

主题

407

回帖

0

蝴蝶豆

高级会员

最后登录
2016-11-24
发表于 2015-11-17 13:10:43 | 显示全部楼层

呵呵...................
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版