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

查看: 3382|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版