关于STM32 HAL库例程 IO配置问题!

2019-07-20 12:19发布

我在看原子的例程时,在使用HAL库时很多地方的输入IO口配置简化了。。我还特意去翻看了寄存器版本,发现寄存器版本是完整配置的!例如:HAL库串口1初始化时io配置
                __HAL_RCC_GPIOA_CLK_ENABLE();                        
                __HAL_RCC_USART1_CLK_ENABLE();               
        
                GPIO_Initure.Pin=GPIO_PIN_9;                        //PA9
                GPIO_Initure.Mode=GPIO_MODE_AF_PP;               
                GPIO_Initure.Pull=GPIO_PULLUP;                        
                GPIO_Initure.Speed=GPIO_SPEED_FAST;               
                GPIO_Initure.Alternate=GPIO_AF7_USART1;        
                HAL_GPIO_Init(GPIOA,&GPIO_Initure);           

                GPIO_Initure.Pin=GPIO_PIN_10;        
                HAL_GPIO_Init(GPIOA,&GPIO_Initure);                  

寄存器版本:
        RCC->AHB1ENR|=1<<0;            
        RCC->APB2ENR|=1<<4;         
        GPIO_Set(GPIOA,PIN9|PIN10,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);
        GPIO_AF_Set(GPIOA,9,7);        //PA9,AF7
        GPIO_AF_Set(GPIOA,10,7);//PA10,AF7  

PA9、10都重映射了AF7.。也就是USART1,这是为什么呢?
HAL库有自动设置功能吗?我找了一下没找见,求解答!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。