新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32 GPIO使用步驟 ST3.0.0庫

STM32 GPIO使用步驟 ST3.0.0庫

作者: 時(shí)間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
初始化一個(gè)普通IO的步驟

1:GPIO_InitTypeDef GPIO_InitStructure定義一個(gè)結(jié)構(gòu)體,用于初始化IO

本文引用地址:http://m.butianyuan.cn/article/201612/325163.htm

2:使能IO時(shí)鐘,STM32 的IO都是高速IO。

分為兩種情況

第一種是IO為高速時(shí)鐘:

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)

第二種是IO為低速時(shí)鐘

void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState)

3:GPIO_InitStructure選定具體IO端口,用戶要使用哪個(gè)IO,是PC3還是PC4

4:GPIO_InitStructure設(shè)置IO的工作模式,輸出輸入還是?,一共有8中IO的工作模式,一般IO設(shè)置為推挽輸出

5:GPIO_InitStructure設(shè)置IO的工作速率,2M還是50MHZ,這個(gè)只對(duì)輸出模式有作用,如果IO設(shè)置為輸入就沒有作用了。

6:GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 調(diào)用函數(shù)初始化上面設(shè)置好的信息寫入到IO外設(shè)中。

7:上面6步初始化好IO了,接下來就要設(shè)置IO為高電平還是低電平了。

IO設(shè)置為高電平函數(shù)為:

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

IO設(shè)置為低電平函數(shù)為:

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

=====================================================================================================

實(shí)例:

GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE); //使能高速外設(shè)IO

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_SetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);

PC3 PC4 PC5都設(shè)為輸出高電平

以上來自野火M3



關(guān)鍵詞: STM32GPIO使用步

評(píng)論


技術(shù)專區(qū)

關(guān)閉