新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32 GPIO使用步驟 ST3.0.0庫

        STM32 GPIO使用步驟 ST3.0.0庫

        作者: 時間:2016-12-03 來源:網絡 收藏
        初始化一個普通IO的步驟

        1:GPIO_InitTypeDef GPIO_InitStructure定義一個結構體,用于初始化IO

        本文引用地址:http://www.104case.com/article/201612/325163.htm

        2:使能IO時鐘,STM32 的IO都是高速IO。

        分為兩種情況

        第一種是IO為高速時鐘:

        void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)

        第二種是IO為低速時鐘

        void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState)

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

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

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

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

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

        IO設置為高電平函數為:

        void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

        IO設置為低電平函數為:

        void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

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

        實例:

        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE); //使能高速外設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都設為輸出高電平

        以上來自野火M3



        關鍵詞: STM32GPIO使用步

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 盐城市| 扎囊县| 乌什县| 金门县| 郯城县| 元氏县| 宜都市| 女性| 黄陵县| 襄城县| 东乡族自治县| 虎林市| 赤壁市| 托里县| 南投市| 丰镇市| 五大连池市| 武宁县| 伊川县| 东安县| 册亨县| 溆浦县| 青神县| 新丰县| 湘乡市| 阳新县| 拜泉县| 黑龙江省| 林甸县| 都安| 广州市| 大石桥市| 德钦县| 五指山市| 宁化县| 永胜县| 沈阳市| 鹰潭市| 永登县| 阳高县| 孝感市|