[求助] 关于STM32的GPIO模式配置

xiongrz944   2015-6-12 15:59 楼主
为什么STM32的GPIO模式配置如下:
GPIO_Mode_AIN = 0x0,        //模拟输入
GPIO_Mode_IN_FLOATING = 0x04,  //浮空输入

GPIO_Mode_IPD = 0x28,        //下拉输入

GPIO_Mode_IPU = 0x48,        //上拉输入

GPIO_Mode_Out_OD = 0x14,      //开漏输出

GPIO_Mode_Out_PP = 0x10,      //通用推挽输出

GPIO_Mode_AF_OD = 0x1C,      //复用开漏输出

GPIO_Mode_AF_PP = 0x18      //复用推挽;

这些数字是怎么得到的,分析了下GPIO的寄存器还是没能看明白,求大神们指教


回复评论 (11)

就是寄存器的值来着,认真再看看
点赞  2015-6-12 16:39
引用: sint27 发表于 2015-6-12 16:39
就是寄存器的值来着,认真再看看

哪个寄存器的值啊,我看了好几遍了,还是没能分析出来,望大神指点指点
点赞  2015-6-12 17:41
你用windows自带的计算器看看这些数哪些位被置位了,然后到数据手册里找。是需要这个答案吗?
点赞  2015-6-12 18:34
你看数据手册,找到gpio的那一部分。这部分的最后,是寄存器每一位的介绍。仔细看看吧
点赞  2015-6-12 23:34
十六进制通常转换为二进制查看那些位被制位,可以看看数据手册,寄存器需要看每一位所代表的意思和是否值位。
点赞  2015-6-13 00:47
引用: 白手梦想家 发表于 2015-6-12 18:34
你用windows自带的计算器看看这些数哪些位被置位了,然后到数据手册里找。是需要这个答案吗?

我不知道你知不知道,但是我觉得你应该也不会知道,我搞STM32一年半了,实验室有个师兄搞了两年多了,但是也没搞清楚,不过我现在知道这些数据是怎么取的,我可以告诉你去看数据手册就是看十几遍也不会找到答案,本来不想回复你,但是看着你的回复有点讽刺问问题人的态度,不管你是不是大神,不要小瞧论坛里任何一个人问的问题,好了,就这样,再见,最好再告诉你,答案不在数据手册,而在库函数的GPIO初始化那段代码
点赞  2015-6-13 11:09
引用: ienglgge 发表于 2015-6-12 23:34
你看数据手册,找到gpio的那一部分。这部分的最后,是寄存器每一位的介绍。仔细看看吧

谢谢你的回复,不过在数据手册找不到答案,答案在GPIO初始化的那段代码里
点赞  2015-6-13 11:10
引用: graylira 发表于 2015-6-13 00:47
十六进制通常转换为二进制查看那些位被制位,可以看看数据手册,寄存器需要看每一位所代表的意思和是否值位。

答案不在数据手册,在GPIO初始化的代码里
点赞  2015-6-13 11:10
引用: xiongrz944 发表于 2015-6-13 11:09
我不知道你知不知道,但是我觉得你应该也不会知道,我搞STM32一年半了,实验室有个师兄搞了两年多了,但是也没搞清楚,不过我现在知道这些数据是怎么取的,我可以告诉你去看数据手册就是看十几遍也不会找到答案,本来不想回复你,但是看着你的回复有点讽刺问问题人的态度,不管你是不是大神,不要小瞧论坛里任何一个人问的问题,好了,就这样,再见,最好再告诉你,答案不在数据手册,而在库函数的GPIO初始化那段代码

我了个擦,我哪里讽刺了?我不确定我答的是不是你问的,所以就说是不是需要这个答案,真是醉了,没想到好心回复还被看成讽刺
点赞  2015-6-13 12:05
在datasheet里找到相关寄存器,然后用二进制看是哪些位
昵称:灰小子
点赞  2015-6-14 22:00
引用: exiao 发表于 2015-6-14 22:00
在datasheet里找到相关寄存器,然后用二进制看是哪些位

恩,已解决,只看数据手册是得不到这些数的,需要看官方库函数里的GPIO初始化,还是很感谢
点赞  2015-6-14 22:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复