下面以PA5來舉例。
PA5可以做為普通GPIO來使用;其次,如果作為外設的引腳,它可以作為SPI1的時鍾(SPI1_SCK)、DAC的輸出通道1(DAC_OUT1)或者ADC的輸入通道5(ADC12_IN5)。
PA5支持的三種外設(SPI1、DAC、ADC)在同一時刻只能選擇一種,選擇的方法是開啟相應外設的時鍾,並使其它外設的時鍾保持關閉狀態。如果PA5被配置為復用功能,但是沒有開啟它支持的任何外設的時鍾,它的輸出是不確定的。
復用推挽輸出和(普通)推挽輸出在輸出的時候均使用兩個MOS管(P-MOS和-MOS),其輸出電路是相同的。區別在於控制輸出的信號來源:(普通)推挽輸出控制MOS管的信號來自輸出數據寄存器,而復用推挽輸出的控制信號來自單片機的內置外設控制器(比如SPI1)。
軟件重新映射I/O復用功能為了使不同器件封裝的外設I/O功能的數量達到最優,可以把一些復用功能重新映射到其他一些腳上。這可以通過軟件配置相應的寄存器來完成(可以參考用戶手冊的AFIO寄存器描述或者數據手冊的引腳定義)。這時,復用功能就不再映射到它們的原始引腳上了。