阿松松 发表于 2015-1-6 13:18:20

GPIO_PinAFConfig

筒子们,有个问题向大家请教下
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);和
GPIO_PinAFConfig(GPIOA,GPIO_Pin_9,GPIO_AF_1);有什么区别呢?

在实际使用的时候也没有注意到,但是一般用的都是第一种,从宏定义上看
#define   GPIO_Pin_9       ((uint16_t)0x0200)   
这个宏定义可以清晰的看到这个是第9个管脚

而 #define GPIO_PinSource9         ((uint8_t)0x09)
这个宏定义又是来干嘛的呢?

于是又有以下解释
GPIO_PinSource0 = 0;
GPIO_PinSource1 = 1;
GPIO_PinSource2 = 2;
...
GPIO_Pin_0 = 0x0001;
GPIO_Pin_1 = 0x0002;
GPIO_Pin_2 = 0x0004;   
...
一般这么使用:
GPIO_Pin_0 = (1<<GPIO_PinSource0);
GPIO_Pin_1 = (1<<GPIO_PinSource1);
GPIO_Pin_2 = (1<<GPIO_PinSource2);瞬间思路清楚了,广大坛友明白了吗?于是疑惑自然解开。。

还是看不穿 发表于 2017-7-26 07:52:49

哈哈,可以!!!

anobodykey 发表于 2017-7-26 09:01:57

你确定第二种可以正常使用?
页: [1]
查看完整版本: GPIO_PinAFConfig