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

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

[复制链接]
jinyi7016 提问时间:2015-11-14 10:46 /
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) */
复制代码




评分

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

查看全部评分

收藏 3 评论11 发布时间:2015-11-14 10:46

举报

11个回答
alvin_ 回答时间:2015-11-14 11:42:12
楼主你到底有没有板子……?
hello! 回答时间:2015-11-14 14:59:46
小小超 回答时间:2015-11-14 15:13:28

jinyi7016 回答时间:2015-11-14 21:49:33
alvin_ 发表于 2015-11-14 11:42
楼主你到底有没有板子……?

呵呵...................
埃斯提爱慕 回答时间:2015-11-14 21:51:08
提示: 作者被禁止或删除 内容自动屏蔽
alvin_ 回答时间:2015-11-15 09:29:47
jinyi7016 发表于 2015-11-14 21:49
呵呵...................

不是啊你抢到板子搞了半天分享连个图都没看到,也没有工程文件……L476这么强大的板子老弄这些什么入门试用配置之类的分享有意思吗?
alvin_ 回答时间:2015-11-15 09:30:43
dsjsjf 发表于 2015-11-14 21:51
你这是在刺激楼主么

我就问下有没有板子啊既然抢到了板子,这分享连个配置文档都没有分享,也没见到板子,这有什么刺激的?又不是没抢到,你抢到了对吧?
埃斯提爱慕 回答时间:2015-11-16 18:46:28
提示: 作者被禁止或删除 内容自动屏蔽
alvin_ 回答时间:2015-11-17 13:10:43

呵呵...................
青蓝冰水 回答时间:2017-4-9 16:08:25
zbber 回答时间:2017-4-9 19:05:48

,不错,真是太棒了!

所属标签

相似问题

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