关于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库有自动设置功能吗?我找了一下没找见,求解答!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
许恒博
1楼-- · 2019-07-21 02:20
 精彩回答 2  元偷偷看……
许恒博
2楼-- · 2019-07-21 04:09
huanghan 发表于 2017-8-29 11:41
本来是这样写好看些,                                                                                ...

明白了,谢谢回答。。问了个比较二的问题。结构体里面的变量是设置好的,不需要修改了!

一周热门 更多>