STM32G0系列MCU PA9/PA10映射浅谈

STM32G0系列,有一个特殊的功能,这个功能是其它系列所没有的。即PA9/PA10引脚功能可分别映射到PA11/PA12引脚上。
这种映射区别于我们理解的外设功能映射(即将某个外设例如UART映射到不同的引脚上),这种映射是将PA9/PA10的整个功能(包括GPIO、I2C、UART、TIMER等全部功能)都挪移到PA11/PA12引脚上。

以STM32G070 MCU为例,datasheet--pin discreption有如下描述




当我们配置SYSCFG_CFGR1寄存器对应的位,就能实现此映射。

当我们打开STM32G0X0 reference manual,查SYSCFG_CFGR1寄存器,有如下描述:


置位该bit ,PA11将被重定义成PA9,而原来PA11的功能则完全消失。同理PA12也是
我们在实际CUBEMX中也能对该映射进行配置(以STM32G070CB为例),进入CUBEMX底层配置界面,system core 下SYS中,有两个选项可以勾选


勾选后我们发现,原来的PA11/PA12引脚分别变成了PA9/PA10,下拉他们的功能,和PA9/PA10功能完全一样。而原来PA9/PA10所在的引脚变成了NC引脚,无任何功能。即PA9/PA10完全取代了PA11/PA12的引脚,而PA11/PA12消失了。

那么STM32G0系列为什么会有这个奇葩的功能呢?
原因是,STM32G0系列某些引脚数较少的MCU,缺少了PA9和PA10。例如28pin STM32G031,天生就没有PA9和PA10。


当工程师需要用到PA9和PA10功能时,就不得不将它们映射到PA11/PA12了


所以PA9/PA10映射到PA11/PA12功能,初衷是为了满足那些既要用引脚少的MCU,也要用PA9/PA10而设计的。对于32pin及以上的MCU,本身就有PA9和PA10的引脚,这种映射功能就没那么重要了。所以工程师可以根据实际需要去选择是否应用这种映射,这也反映了ST MCU外设灵活多变的特征。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论