最近在学习正点原子的开发版(Stm32F4),设置引脚复用时,通过调试程序发现,复用寄存器的值没有被设定上。经过艰难测试才发现:是GPIO_Pin_n与GPIO_Pinsource_n这两个值弄混淆了。
GPIO_Pin_n:可以理解为某端口脚在整个端口的位置,如GPIO_Pin_5 ((uint16_t)0x0020)
0x0020 二进制表示为0000 0000 0010 0000, 即为第5个位置。
一般在引脚基本属性配置时使用。可参看GPIO_InitTypeDef.
GPIO_Pinsoure_n:对GPIO口相应引脚的复用功能进行配置时才会用到,表示管脚在端口的序号。比如:GPIO_PinSource5 ((uint8_t)0x05) ,即为第5个引脚