|
GPIO功能描述
每個(gè)普通I/O端口都有兩個(gè)32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個(gè)32位數(shù)據(jù)寄存器(GPIOx_IDR和GPIOx_ODR),一個(gè)32位置位/復(fù)位寄存器(GPIOx_BSRR),一個(gè)16位復(fù)位寄存器(GPIOx_BRR)和一個(gè)32位鎖定寄存器(GPIOx_LCKR)。
。
所有端口都有外部中斷能力。為了使用外部中斷線,端口必須配置成輸入模式。
GPIO鎖定機(jī)制鎖定機(jī)制允許凍結(jié)IO配置。當(dāng)在一個(gè)端口位上執(zhí)行了鎖定(LOCK)程序,在下一次復(fù)位之前,將不能再更改端口位的配置。
外設(shè)的GPIO配置
通用定時(shí)器TIM2/3/4/5,輸入捕獲通道x需要配置成浮空輸入。輸出比較通道x需要配置成推挽復(fù)用輸出。
外部觸發(fā)時(shí)鐘輸入配置成浮空輸入。
端口配置低寄存器(GPIOx_CRL),端口配置高寄存器(GPIOx_CRH)。用來配置輸入模式和輸出模式,GPIO端口輸入可以配置成 輸入浮空 , 輸入上拉 , 輸入下拉 , 模擬輸入 , 開漏輸出,推挽式輸出, 推挽式復(fù)用功能,開漏復(fù)用功能,輸出模式可以配置最大速度10MHz,最大速度2MHz,最大速度50MHz三種。
端口輸入數(shù)據(jù)寄存器(GPIOx_IDR)這些位為只讀并只能以字(16位)的形式讀出。讀出的值為對應(yīng)I/O口的狀態(tài)。
端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)這些位可讀可寫并只能以字(16位)的形式操作,作用是輸出數(shù)據(jù)。
端口位設(shè)置/清除寄存器(GPIOx_BSRR) 和端口位清除寄存器(GPIOx_BRR)設(shè)置對應(yīng)的ODRy位。
端口配置鎖定寄存器(GPIOx_LCKR)鎖定后的位再下次復(fù)位之前不能被改動(dòng)設(shè)置。
|
|