標(biāo)題: 初學(xué)STM32之GPIO [打印本頁]
作者: liuqq 時間: 2015-5-21 23:15
標(biāo)題: 初學(xué)STM32之GPIO
首先,什么叫GPIO 它的全稱是General Purpose Input Output,就是I/O(通用輸入/輸出),同時我們也知道51單片機的IO模式只有兩種,AVR有三種,到了STM32就更復(fù)雜些了,有八種模式了 分別是:
(1)浮空輸入:In_Floating
(2)帶上拉輸入:IPU(In Push_Up)
(3)帶下拉輸入:IPD(In Push_Down)
(4)模擬輸入:AIN(Anolog In)
(5)開漏輸出:OUT_PD(OD 代表開漏,既Open Drain,OC代表開集,Open Collect)
(6)推挽輸出:OUT_PP(PP代表推挽式,Push_Pull)
(7)復(fù)用功能推挽輸出:AF_PP(AF代表復(fù)用功能,Alternate-Fuction)
(8)復(fù)用功能開漏輸出:AF_OD
要用IO,那就先得配置IO
配置如下
void GPIO_Config(void)
{
/*定義一個GPIO_InitTypeDef類型的結(jié)構(gòu)體*/
GPIO_InitTypeDef GPIO_InitStructure;
/*開啟GPIOC的外設(shè)時鐘*/
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
/*選擇要控制的GPIOC引腳*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
/*設(shè)置引腳模式為通用推挽輸出*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*設(shè)置引腳速率為50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*調(diào)用庫函數(shù),初始化GPIOC*/
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
配置好了就可以對GPIO進行操作了(置位/復(fù)位)
先看庫函數(shù)原型吧
例好GPIO_SetBits(GPIOC,GPIO_Pin_5); GPIO_SetBits(GPIOC,GPIO_Pin_5);
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |