最近記憶力以指數(shù)形式下降,以前弄明白的東西結果又忘了,故而將之寫下避免下次又得重新查閱資料
這里講的是關于STM32F10X的,和STM32F0XX系列的還是有一些區(qū)別的,F(xiàn)0的下次有空在寫了....
概括一下:復用就是一個引腳有幾個功能,1.做普通IO輸入輸出2.其他外設的輸入輸出(比如I2C,TIM,SPI等等),這就是復用。
重映射就是將引腳功能重新定義到其他引腳,例如PA9是USART1-TX默認的管腳,但是現(xiàn)在PA9用做它用了,那可以將USART1-TX重新映射到PB6,當然這種映射不是隨意的想映射到哪個腳就哪個腳,芯片內(nèi)部已經(jīng)固定了只能映射到固定的地方
OK,說完了概念 下面是用法
MCU復位后PA8的默認功能是普通IO管腳,我想將它設為TIM1的PWM-CH1復用輸出
按照上圖 只有兩種映射 部分映射和完全映射 如果是部分映射 改變的是BKIN,CH1N,CH2N,CH3N這幾個腳而已,所以應該選完全映射 就可以將TIM1的PWM-CH1重映射到PE9這個腳去
GPIO_PinRemapConfig(GPIO_FullRemap_TIM1,ENABLE);
//不懂你們有沒有這樣的疑問,這樣會不會改變其他引腳,本來我就不想改變其他只改變一個引腳,結果其他引腳也被重映射走了....
關于這個問題,我的理解是:例如上圖,假如說 連CH2 CH3 CH4也以前用了的話 那就沒辦法了 都會一起被重新映射走了,也就說CH2=PE11 CH3=PE13 CH4 =PE14沒辦法只做到只映射了一個過來而已
那如果說只使用了CH1的話 那就不會有影響 PE11 PE13 PE14照樣當做普通IO使用不用將這幾個管腳的復用功能打開就可以了
上述乃個人理解,不對之處還望指出.....