色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32 按鍵掃描方式 使用ST3.0.0庫

          STM32 按鍵掃描方式 使用ST3.0.0庫

          作者: 時間:2016-12-03 來源:網(wǎng)絡 收藏
          用到GPIO的操作模式

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

          本文引用地址:http://cafeforensic.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);

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

          例如:端口 GPIOC端口,對所有的引腳都置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);

          對一個端口的幾個引腳清零。PC3 PC4 PC5清零引腳。

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

          當引腳為輸入模式時讀引腳的電平值,是高電平還是低電平

          uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

          例如:

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

          {}

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

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

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

          uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

          例如:

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

          看當前時刻PC3是輸出0還是輸出1。

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

          對某一位操作,可以寫0也可以寫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

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

          對端口直接賦值

          void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)

          例如:

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

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



          關鍵詞: STM32按鍵掃描方

          評論


          技術專區(qū)

          關閉