STM32F4 HAL库开发 --时钟使能和配置
在STM32F4的HAL庫中,外設(shè)時鐘使能操作都是在RCC相關(guān)固件庫文件頭文件stm32f4xx_hal_rcc.h 定義的。外設(shè)時鐘使能在HAL庫中都是通過宏定義標(biāo)識符來實(shí)現(xiàn)。首先,我們來看看GPIOA的外設(shè)時鐘使能宏定義標(biāo)識符。
#define __HAL_RCC_GPIOA_CLK_ENABLE() do { \__IO uint32_t tmpreg = 0x00U; \SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOAEN);\/* Delay after an RCC peripheral clock enabling */ \tmpreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOAEN);\UNUSED(tmpreg); \} while(0U)主要是定義了一個宏定義標(biāo)識符__HAL_RCC_GPIOA_CLK_ENABLE(),它的核心操作是通過下面這行代碼實(shí)現(xiàn)的:
SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOAEN);
這行代碼的作用是,設(shè)置寄存器RCC->AHB1ENR的相關(guān)位為1。
我們只需要在我們的用戶程序中調(diào)用宏定義標(biāo)識符__HAL_RCC_GPIOA_CLK_ENABLE()
就可以實(shí)現(xiàn) GPIOA 時鐘使能。使用方法為:
對于其他外設(shè),同樣都是在 stm32f4xx_hal_rcc.h頭文件中定義,大家只需要找到相關(guān)宏定義標(biāo)識符即可,這里我們列出幾個常用使能外設(shè)時鐘的宏定義標(biāo)識符使用方法。
__HAL_RCC_DMA1_CLK_ENABLE();//使能 DMA1 時鐘 __HAL_RCC_USART2_CLK_ENABLE();//使能串口 2 時鐘 __HAL_RCC_TIM1_CLK_ENABLE();//使能 TIM1 時鐘禁止某個外設(shè)時鐘使用方法和使能外設(shè)時鐘非常類似,同樣是頭文件定義的宏定義標(biāo)識符。同樣以GPIOA為例,宏定義標(biāo)識符為:
#define __HAL_RCC_GPIOA_CLK_DISABLE() \ (RCC->AHB1ENR &= ~(RCC_AHB1ENR_GPIOAEN))同樣,宏定義標(biāo)識符__HAL_RCC_GPIOA_CLK_DISABLE()的作用是設(shè)置RCC->AHB1ENR寄存器的最低位為0,也就是禁止GPIOA時鐘。
我們這里同樣列出幾個常用的禁止外設(shè)時鐘的宏定義標(biāo)識符使用方法:
總結(jié)
以上是生活随笔為你收集整理的STM32F4 HAL库开发 --时钟使能和配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32F4 HAL库开发 -- 工程
- 下一篇: 互联网晚报 | 9月16日 星期四 |