新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32 按鍵掃描方式 使用ST3.0.0庫(kù)

STM32 按鍵掃描方式 使用ST3.0.0庫(kù)

作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
用到GPIO的操作模式

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

本文引用地址:http://2s4d.com/article/201612/325164.htm

GPIO置1操作:

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

例如:

GPIO_SetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);

這個(gè)函數(shù)是對(duì)一組端口的一些位置1,對(duì)PC3 PC4 PC53個(gè)引腳一起置1。GPIO_SetBits的作用是對(duì)一個(gè)端口16個(gè)引腳一起賦值。

例如:端口 GPIOC端口,對(duì)所有的引腳都置1,可以

GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 ... GPIO_Pin_15);把所有引腳都置1.

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

GPIO清零操作:

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

例如:

GPIO_ResetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);

對(duì)一個(gè)端口的幾個(gè)引腳清零。PC3 PC4 PC5清零引腳。

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

當(dāng)引腳為輸入模式時(shí)讀引腳的電平值,是高電平還是低電平

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

例如:

if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0) == 1)

{}

檢查輸入引腳PB0引腳是0還是1

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

當(dāng)引腳為輸出狀態(tài)時(shí),讀引腳的輸出寄存器值,

uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

例如:

(BitAction)((1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_3)

看當(dāng)前時(shí)刻PC3是輸出0還是輸出1。

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

對(duì)某一位操作,可以寫(xiě)0也可以寫(xiě)1,既可以置1也可以清0

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)

例如:

GPIO_WriteBit(GPIOC, GPIO_Pin_3, Bit_SET);//PC3置1

GPIO_WriteBit(GPIOC, GPIO_Pin_3, Bit_RESET);//PC3清0

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

對(duì)端口直接賦值

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)

例如:

可以直接對(duì)PC0賦值為1,其他引腳都為0。

GPIO_Write(GPIOC,0x01);//PC0=1,其他引腳為0



關(guān)鍵詞: STM32按鍵掃描方

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉