單片機(jī)平臺(tái)編寫 GPIO 口程序,以 STM32F103 為例,有三種模式:庫函數(shù)、HAL庫、寄存器。
使用庫函數(shù)的方式操控 GPIO 方式如下:
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能 PB 端口時(shí)鐘
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 的一個(gè) IO 為輸出功能,可以看出上述初始化代碼中重點(diǎn)要做的事情有一下幾個(gè):
①、使能指定 GPIO 的時(shí)鐘。
②、初始化 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)注
6074文章
45340瀏覽量
663545 -
STM32
+關(guān)注
關(guān)注
2305文章
11120瀏覽量
371159 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4406瀏覽量
66838 -
GPIO
+關(guān)注
關(guān)注
16文章
1313瀏覽量
55727
發(fā)布評論請先 登錄
單片機(jī)教程二十一:單片機(jī)串行口通信程序設(shè)計(jì)
實(shí)現(xiàn)IO口流水燈源代碼的LPC2378 GPIO程序
STM32單片機(jī)學(xué)習(xí)基礎(chǔ)手記(2):從勉強(qiáng)看懂一行程序到IO口研究
單片機(jī)程序如何編寫
STC15單片機(jī)的GPIO口驅(qū)動(dòng)LED資料合集
【51/STM32】詳解單片機(jī)GPIO口輸入輸出的各種模式
stm32單片機(jī)基于hal庫對對GPIO的操作
STM32單片機(jī)GPIO口簡介
如何提高單片機(jī)的GPIO口驅(qū)動(dòng)能力
51單片機(jī)GPIO結(jié)構(gòu)框圖與工作原理
基于OpenHarmony編寫GPIO平臺(tái)驅(qū)動(dòng)和應(yīng)用程序
從Linux平臺(tái)來研究GPIO軟件框架

如何從單片機(jī)平臺(tái)編寫GPIO口程序
評論