举例PA9、PA10的引脚分配:
固件库中TIM1的引脚分配设置时这样的
/* GPIOA Configuration: Channel 1, 2 and 3 as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
固件库中USART1的引脚分配设置是这样的
/* Configure USART1 Rx (PA.10) as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure USART1 Tx (PA.09) as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
这两个资源对GPIO的设置看上去没有区别,是如何确定PA9、PA10被分配给TIM1和分配给USART1的?还是其他地方有什么语句?
很好,这几天对此事一直比较犯糊涂,也提过类似的帖子但没有得到肯定的回答,现在明白了!谢谢!
它不像过去接触过的NXP的ARM有专门的分配外设引脚的寄存器设置位。
版主,我的意思是上述的图片在ST的那个官方文档中,我想下载下来看看。你的博客中的文章我拜读了一部分,受益匪浅