新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32 GPIO 配置

        STM32 GPIO 配置

        作者: 時間:2016-12-03 來源:網絡 收藏
        固件庫 V3.5 IAR

        /*******************************************************************************
        * 函數名稱: GPIO_Configuration
        * 函數功能: 設置各GPIO端口功能
        * 參數變量: NONE
        * 全局變量: NONE
        * 調用函數:
        * 修改時間:
        * 版 本: V1.0
        * 狀 態:調試完成
        *******************************************************************************/
        void GPIO_Configuration(void)
        {
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|
        RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|
        RCC_APB2Periph_GPIOE|
        RCC_APB2Periph_GPIOF, ENABLE); //開所有IO時鐘
        /******************I0 A ***************************/
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_5|GPIO_Pin_9; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 輸出速度
        GPIO_Init(GPIOA,&GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_10; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//浮空輸入
        GPIO_Init(GPIOA,&GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        /******************I0 B ***************************/
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5|
        GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_15; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 輸出速度
        GPIO_Init(GPIOB, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_11|GPIO_Pin_14; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//浮空輸入
        GPIO_Init(GPIOB, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化
        /******************I0 C ***************************/
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_4|
        GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|
        GPIO_Pin_11|GPIO_Pin_12; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 輸出速度
        GPIO_Init(GPIOC, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化


        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;//上拉輸入
        GPIO_Init(GPIOC, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//浮空輸入
        GPIO_Init(GPIOC, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化
        /******************I0 D ***************************/
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_4|
        GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|
        GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 輸出速度
        GPIO_Init(GPIOD, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_2; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;//上拉輸入
        GPIO_Init(GPIOD, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化
        /******************I0 E ***************************/
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4||GPIO_Pin_5; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 輸出速度
        GPIO_Init(GPIOE, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;//上拉輸入
        GPIO_Init(GPIOE, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化

        /******************I0 F ***************************///開發板資源
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 輸出速度
        GPIO_Init(GPIOF, &GPIO_InitStructure); //使用的LED燈相關的GPIO口初始化
        GPIO_SetBits(GPIOF,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);//關閉所有的LED指示燈


        /*****************ADC IO 口***************/
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_6;//選擇IO 口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//IO 模式設置
        GPIO_Init(GPIOA, &GPIO_InitStructure);//寫入 初始化值
        /*****************I2C 口***************/
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7; //選擇IO口
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;//復用I2C 設置 輸出模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;//IO 輸出速度
        GPIO_Init(GPIOB, &GPIO_InitStructure); //

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

        }

        GPIO_ResetBits(GPIOF,GPIO_Pin_9);//GPIOF_9 =0;
        GPIO_SetBits(GPIOF,GPIO_Pin_9); //GPIOF_9 =1;



        關鍵詞: STM32GPIO配

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 玉山县| 铜鼓县| 揭西县| 合作市| 措美县| 定安县| 东丽区| 延长县| 鞍山市| 利辛县| 宜宾市| 萨迦县| 若羌县| 镇原县| 呼图壁县| 普兰县| 临高县| 佛山市| 福鼎市| 宁德市| 广灵县| 盘山县| 山丹县| 白朗县| 枣庄市| 锡林浩特市| 榕江县| 钟山县| 繁峙县| 固原市| 闽侯县| 玛曲县| 连城县| 牟定县| 讷河市| 汝州市| 普格县| 台南市| 依安县| 怀宁县| 通榆县|