对这个问题困惑了有一段时间了,因为专门查过stm32的datasheet,重映射功能说了一大堆,寄存器说了一大堆,但最表面的基本介绍没有,所以我只能按照给的原理图上引脚的标注来理解了。
先说引脚复用,请看原理图,引脚可以配置成普通IO口输出高低电平,也就是基本的PA0-PA15至PF0-PF15。那么紧跟在后面的,就是这个引脚的复用功能了,比如BO口的ADC12_IN8,再比如B9口的TIM4_CH4。虽然我一直没搞明白B8口的TIM4_CH3_(7)_和B7口的I2C1_SDA_(7)_什么意思,笔误?
再说重映射,再看原理图,那么一个引脚除了他的基本io功能和复用功能之外都是重映射功能了吧?
以我对复用与重映射区别的理解,就是配置程序的时候不同。如果是复用功能或者配置外部线中断,那么配置GPIO的时候别忘了开AFIO的时钟;如果是重映射功能,配置GPIO时当做普通IO配置就是了,我这么理解对么?
声明一点,此贴的目的是希望有好心的大神看过之后指点小弟一下,不敢保证以上都是正确的结论。 |