电竞比分网-中国电竞赛事及体育赛事平台

分享

STM32單片機(jī)I/O口初探

 岐岐feng 2018-04-14

在STM32單片機(jī)中,要想使用外設(shè)首先要開啟其時(shí)鐘。例如我們要使用單片機(jī)的GPIOA那么首先我們需要開啟GPIOA的對(duì)應(yīng)時(shí)鐘,完后我們才能對(duì)GPIOA端口進(jìn)行配置。那么GPIOA的時(shí)鐘該依據(jù)什么配置呢?STM32單片機(jī)有個(gè)時(shí)鐘樹,我們可以通過時(shí)鐘樹看GPIOA掛載那個(gè)時(shí)鐘樹上完后進(jìn)行對(duì)應(yīng)的配置。

STM32單片機(jī)I/O口初探

STM32時(shí)鐘樹

通過上面的時(shí)鐘樹圖我們可以看到STM32單片機(jī)的ADC,USART、GPIOABCDEF等外設(shè)都掛載在APB2總線上,所以我們?cè)谂渲脮r(shí)鐘的時(shí)候只需要如下圖配置即可。

STM32單片機(jī)I/O口初探

開啟GPIOA端口時(shí)鐘

通過上圖我們就打開了GPIOA端口的時(shí)鐘。接下來我們就開始配置端口了,所謂配置端口就是你想要把GPIOA的哪個(gè)引腳配置成輸入或者是輸出。

STM32單片機(jī)I/O口初探

端口配置

通過上述配置我們就將GPIOA的端口1配置成了輸出。接下來我們就可以用STM32庫函數(shù)

STM32單片機(jī)I/O口初探

GPIO庫函數(shù)

在GPIO庫函數(shù)中包含了對(duì)IO操作的所有函數(shù),我們直接使用就可以。打開GPIO.H一直下啦到底我們可以看到如下函數(shù)。

STM32單片機(jī)I/O口初探

API函數(shù)

其中void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);函數(shù)用來將端口拉高也就是輸出高電平1

例如: GPIO_SetBits(GPIOA, GPIO_Pin_1);這樣我們就將GPIOA1端口置為高電平。同樣GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 用來將端口置為低電平。同樣我們將GPIOA端口設(shè)置為低電平:GPIO_ResetBits(GPIOA,GPIO_Pin_1);是不是省去了復(fù)雜的寄存器配置。讓開發(fā)變得簡(jiǎn)單了許多。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多