STM32所有內(nèi)置外設(shè)的外部引腳都是與標(biāo)準(zhǔn)GPIO引腳復(fù)用的,例如對于STM32F103VBT6,47引腳為PB10,它的復(fù)用功能是 I2C2_SCL和USART3_TX,表示在上電之后它的默認(rèn)功能為PB10,而I2C2的SCL和USART3的TX為它的復(fù)用功能;另外在TIM2 的引腳重映射后,TIM2_CH3也成為這個引腳的復(fù)用功能。 STM32基本上每個引腳都有8種配置模式: 1)浮空輸入 2)帶弱上拉輸入 3)帶弱下拉輸入 4)模擬輸入 5)推挽輸出 6)開漏輸出 7)復(fù)用推挽輸出 8)復(fù)用開漏輸出 通常有5種方式使用某個引腳功能,它們的配置方式如下: 1)作為普通GPIO輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時不要使能該引腳對應(yīng)的所有復(fù)用功能模塊。 2)作為普通GPIO輸出:根據(jù)需要配置該引腳為推挽輸出或開漏輸出,同時不要使能該引腳對應(yīng)的所有復(fù)用功能模塊。 3)作為普通模擬輸入:配置該引腳為模擬輸入模式,同時不要使能該引腳對應(yīng)的所有復(fù)用功能模塊。 4)作為內(nèi)置外設(shè)的輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時使能該引腳對應(yīng)的某個復(fù)用功能模塊。 5)作為內(nèi)置外設(shè)的輸出:根據(jù)需要配置該引腳為復(fù)用推挽輸出或復(fù)用開漏輸出,同時使能該引腳對應(yīng)的所有復(fù)用功能模塊。 注意如果有多個復(fù)用功能模塊對應(yīng)同一個引腳,只能使能其中之一,其它模塊保持非使能狀態(tài)。 比如要使用STM32F103VBT6的47、48腳的USART3功能,則需要配置47腳為復(fù)用推挽輸出或復(fù)用開漏輸出,配置48腳為某種輸入模式,同時使能USART3并保持I2C2的非使能狀態(tài)。 如果要使用STM32F103VBT6的47腳作為TIM2_CH3,則需要對TIM2進(jìn)行重映射,然后再按復(fù)用功能的方式配置對應(yīng)引腳。 發(fā)表于2009/7/25 |