單片機(jī)平臺(tái)編寫(xiě) GPIO 口程序,以 STM32F103 為例,有三種模式:庫(kù)函數(shù)、HAL庫(kù)、寄存器。
使用庫(kù)函數(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 輸出高
}
上述代碼就是使用庫(kù)函數(shù)來(lái)初始化 STM32 的一個(gè) IO 為輸出功能,可以看出上述初始化代碼中重點(diǎn)要做的事情有一下幾個(gè):
①、使能指定 GPIO 的時(shí)鐘。
②、初始化 GPIO,比如輸出功能、上拉、速度等等。
③、STM32 有的 IO 可以作為其它外設(shè)引腳,也就是 IO 復(fù)用,如果要將 IO 作為其它外設(shè)引腳使用的話就需要設(shè)置 IO 的復(fù)用功能。
④、最后設(shè)置 GPIO 輸出高電平或者低電平。
STM32 的 GPIO 初始化就是以上四步,使用庫(kù)函數(shù)操作 GPIO 還是很簡(jiǎn)單的。但是我們知道 STM32F1 系列是有庫(kù)函數(shù)的,但是 STM32F7 系列就沒(méi)有庫(kù)函數(shù)了,ST 公司沒(méi)有出,STM32F7 只有 HAL 庫(kù)和寄存器兩種操作方式。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650518 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
365003 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4381瀏覽量
64890 -
GPIO
+關(guān)注
關(guān)注
16文章
1280瀏覽量
54110
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)教程二十一:單片機(jī)串行口通信程序設(shè)計(jì)
實(shí)現(xiàn)IO口流水燈源代碼的LPC2378 GPIO程序
單片機(jī)程序如何編寫(xiě)

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

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

基于51單片機(jī)的呼吸燈程序編寫(xiě)

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

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

m0單片機(jī)io口_混子筆記之回顧單片機(jī)IO口工作模式

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

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

基于OpenHarmony編寫(xiě)GPIO平臺(tái)驅(qū)動(dòng)和應(yīng)用程序

從Linux平臺(tái)來(lái)研究GPIO軟件框架

評(píng)論