按键实验key.c程序有点问题没看懂。

2019-07-21 00:13发布

本帖最后由 liuchangnan789 于 2016-1-15 10:33 编辑

关于初始化GPIO的问题。为什么WAKE_UP那个GPIO初始化的时候只有初始化引脚和下拉,那速度和模式不用吗?还是因为这两个口和KEY_0_1_2一样所以不用了?我特意看了typedef这个定义,没啥的。。我理解力太差,求大家解答一下



补充:我刚才打开寄存器版本的,发现里面用是的GPIO_SET。进入sys.h看到下图这句话。我的理解就是作为输出时其实速度和推挽还是开漏无关,看来我学习还是不仔细啊。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
lvehe
1楼-- · 2019-07-21 01:29
本帖最后由 lvehe 于 2016-1-15 11:01 编辑
liuchangnan789 发表于 2016-1-15 10:20
你好,那既然用的一个结构体,那两个GPIO_Init取结构的时候定义了两个GPIO口和上拉或者下拉,用哪个阿, ...

GPIO_Init已经将前面几个按键设置完了,由于按键都是输入模式,所以mode就不用设置了(对于输入模式,速度设置是多余的),mode值仍保存在结构体中,只要设置一下不一样的下拉即可,然后再用这个结构体去设置这个WK_UP按键。
lvehe
2楼-- · 2019-07-21 05:27
 精彩回答 2  元偷偷看……
liuchangnan789
3楼-- · 2019-07-21 08:01
lvehe 发表于 2016-1-15 09:47
mode和speed前面已经设置过了,没必要重复,用的是同一个结构体。

你好,那既然用的一个结构体,那两个GPIO_Init取结构的时候定义了两个GPIO口和上拉或者下拉,用哪个阿,他怎么区分的啊。。还是不太懂
新手驾到
4楼-- · 2019-07-21 09:45
 精彩回答 2  元偷偷看……
Mcu_learning
5楼-- · 2019-07-21 10:27
具体是上拉输入还是下拉输入模式,这个依据按键的电路来设置的。看下按键电路。输入模式下,有无速度的设置都没有影响。速度模式只在输出模式下作用~
q546163199
6楼-- · 2019-07-21 13:18
我觉得就是,如果不另外设置Speed和Mode的话,GPIO引脚就会重复上一次的Speed和Mode,比如你第一次设置的Mode为Out(通用输出模式),第二次设置的Mode为AN(模拟输入模式),如果你第三次没有设置Mode的话,那么你在第三次所定义的引脚的Mode功能就会默认为你在第二次设置的Mode的功能,我是这么理解的,我也是刚入门的,O(∩_∩)O哈哈~

一周热门 更多>