jinyi7016 发表于 2015-11-14 10:46:00

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

HAL库用着是方便,可是函数中的各种assert_param真是多啊,效率就下降了。所以就用Low Layer的库了。
首先第一个程序就与hello world一样的地位 ,无疑就是GPIO了,有了GPIO就是基础。

GPIO的设置流程如下图

对就的函数调用如下。
LED2_GPIO_CLK_ENABLE();
LL_GPIO_SetPinMode(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_MODE_OUTPUT);
LL_GPIO_SetPinOutputType(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_OUTPUT_PUSHPULL);
LL_GPIO_SetPinSpeed(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_SPEED_LOW);
LL_GPIO_SetPinPull(LED2_GPIO_PORT, LED2_PIN, LL_GPIO_PULL_NO);可以看到,每个函数中带入的参数,都会有GPIO组号,与PIN号,那么每个函数都要对相同的寄存器进行设置,细说来,这样的效率也不是太高,相比直接配置寄存器来说,还是不够效率的 。
所以可以将将上面几个函数合并成一个,对于相同的参数只设置 一次就可以 了。
时行了上面的设置后,就可以使用GPIO了,当然还是对GPIO的数据寄存器进行读写了。
相对于STM32F407系列来说。
GPIO的速度设置不再是具体的速度,而是一些比较模糊的,还要对照手册来看。
#define LL_GPIO_SPEED_LOW                  ((uint32_t)0x00000000) /*!< Select I/O low output speed */
#define LL_GPIO_SPEED_MEDIUM               GPIO_OSPEEDER_OSPEEDR0_0 /*!< Select I/O medium output speed */
#define LL_GPIO_SPEED_FAST               GPIO_OSPEEDER_OSPEEDR0_1 /*!< Select I/O fast output speed */
#define LL_GPIO_SPEED_HIGH               GPIO_OSPEEDER_OSPEEDR0 /*!< Select I/O high output speed */
而不是F407中提到的
GPIO_Speed_2MHz   = 0x00, /*!< Low speed */
GPIO_Speed_25MHz= 0x01, /*!< Medium speed */
GPIO_Speed_50MHz= 0x02, /*!< Fast speed */
GPIO_Speed_100MHz = 0x03/*!< High speed on 30 pF (80 MHz Output max speed on 15 pF) */



alvin_ 发表于 2015-11-14 11:42:12

:o 楼主你到底有没有板子……?

hello! 发表于 2015-11-14 14:59:46

;P;P;P;P;P;P

ts2000 发表于 2015-11-14 15:13:28


;P;P;P;P;P;P;P:L:L:L:L:L:L

jinyi7016 发表于 2015-11-14 21:49:33

alvin_ 发表于 2015-11-14 11:42
楼主你到底有没有板子……?

呵呵...................

dsjsjf 发表于 2015-11-14 21:51:08

alvin_ 发表于 2015-11-14 11:42
楼主你到底有没有板子……?

你这是在刺激楼主么

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
你这是在刺激楼主么

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

dsjsjf 发表于 2015-11-16 18:46:28

alvin_ 发表于 2015-11-15 09:30
我就问下有没有板子啊既然抢到了板子,这分享连个配置文档都没有分享,也没见到板子,这有什么刺激的?又 ...

对的,,,,

alvin_ 发表于 2015-11-17 13:10:43

dsjsjf 发表于 2015-11-16 18:46
对的,,,,

呵呵...................
页: [1] 2
查看完整版本: 【NUCLEO-L476RG开发】 基于Low Layer的GPIO配置