新聞中心

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

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

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

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

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

        這個函數是對一組端口的一些位置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

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

        當引腳為輸出狀態時,讀引腳的輸出寄存器值,

        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按鍵掃描方

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 绥滨县| 禹州市| 清丰县| 宣汉县| 得荣县| 南康市| 昌吉市| 澜沧| 岳普湖县| 凌云县| 武汉市| 宁化县| 青岛市| 通州市| 浑源县| 罗甸县| 德兴市| 繁峙县| 唐山市| 荆门市| 勃利县| 开江县| 吴桥县| 淅川县| 酒泉市| 固始县| 合水县| 海城市| 文登市| 连南| 罗田县| 南丹县| 综艺| 池州市| 泰宁县| 江津市| 随州市| 深圳市| 武宁县| 铜鼓县| 敦化市|