單片機(jī)平臺編寫 GPIO 口程序,以 STM32F103 為例,有三種模式:庫函數(shù)、HAL庫、寄存器。
使用庫函數(shù)的方式操控 GPIO 方式如下:
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能 PB 端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
//PB5 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度
GPIO_Init(GPIOB, &GPIO_InitStructure); //根據(jù)設(shè)定參數(shù)初始化 GPIOB.5
GPIO_SetBits(GPIOB,GPIO_Pin_5); //PB.5 輸出高
}
上述代碼就是使用庫函數(shù)來初始化 STM32 的一個 IO 為輸出功能,可以看出上述初始化代碼中重點要做的事情有一下幾個:
①、使能指定 GPIO 的時鐘。
②、初始化 GPIO,比如輸出功能、上拉、速度等等。
③、STM32 有的 IO 可以作為其它外設(shè)引腳,也就是 IO 復(fù)用,如果要將 IO 作為其它外設(shè)引腳使用的話就需要設(shè)置 IO 的復(fù)用功能。
④、最后設(shè)置 GPIO 輸出高電平或者低電平。
STM32 的 GPIO 初始化就是以上四步,使用庫函數(shù)操作 GPIO 還是很簡單的。但是我們知道 STM32F1 系列是有庫函數(shù)的,但是 STM32F7 系列就沒有庫函數(shù)了,ST 公司沒有出,STM32F7 只有 HAL 庫和寄存器兩種操作方式。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650606 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
365066 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4381瀏覽量
64907 -
GPIO
+關(guān)注
關(guān)注
16文章
1280瀏覽量
54121
發(fā)布評論請先 登錄
單片機(jī)教程二十一:單片機(jī)串行口通信程序設(shè)計
STM32單片機(jī)學(xué)習(xí)基礎(chǔ)手記(2):從勉強(qiáng)看懂一行程序到IO口研究

STC15單片機(jī)的GPIO口驅(qū)動LED資料合集

【51/STM32】詳解單片機(jī)GPIO口輸入輸出的各種模式

stm32單片機(jī)基于hal庫對對GPIO的操作

STM32單片機(jī)GPIO口簡介

如何提高單片機(jī)的GPIO口驅(qū)動能力

51單片機(jī)GPIO結(jié)構(gòu)框圖與工作原理

基于OpenHarmony編寫GPIO平臺驅(qū)動和應(yīng)用程序

從Linux平臺來研究GPIO軟件框架

評論