在STM32單片機中,要想使用外設首先要開啟其時鐘。例如我們要使用單片機的GPIOA那麼首先我們需要開啟GPIOA的對應時鐘,完後我們才能對GPIOA端口進行配置。那麼GPIOA的時鐘該依據什麼配置呢?STM32單片機有個時鐘樹,我們可以通過時鐘樹看GPIOA掛載那個時鐘樹上完後進行對應的配置。
通過上面的時鐘樹圖我們可以看到STM32單片機的ADC,USART、GPIOABCDEF等外設都掛載在APB2總線上,所以我們在配置時鐘的時候只需要如下圖配置即可。
通過上圖我們就打開了GPIOA端口的時鐘。接下來我們就開始配置端口了,所謂配置端口就是你想要把GPIOA的哪個引腳配置成輸入或者是輸出。
通過上述配置我們就將GPIOA的端口1配置成了輸出。接下來我們就可以用STM32庫函數
在GPIO庫函數中包含了對IO操作的所有函數,我們直接使用就可以。打開GPIO.H一直下啦到底我們可以看到如下函數。
其中void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);函數用來將端口拉高也就是輸出高電平1
例如: GPIO_SetBits(GPIOA, GPIO_Pin_1);這樣我們就將GPIOA1端口置為高電平。同樣GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 用來將端口置為低電平。同樣我們將GPIOA端口設置為低電平:GPIO_ResetBits(GPIOA,GPIO_Pin_1);是不是省去了複雜的寄存器配置。讓開發變得簡單了許多。
閱讀更多 小火韋 的文章