STM32端口重映射

笔者在使用STM32F103C8T6时,不能使用TIM3输出2路PWM波的问题分析和解决办法。
PS.

PB4(部分重映射,TIM3_CH1) ,PB5(部分重映射,TIM3_CH2)

STM32的端口重映射有三种模式:

没有重映射、部分重映射、完全重映射

STM32端口重映射_第1张图片
下图是正点原子《STM32开发指南-库函数版本_V1.3.pdf》
第十四章 PWM 输出实验 P203页

笔者在使用STM32F103C8T6时,碰到一个问题,使用部分重映射时。
PB5可以正常输出PWM波,而PB4不能输出PWM波。

经过对比手册,后发现:

1.该芯片没有PC6~9端口(但是有PC13,14,15),所以完全重映射无法使用
STM32端口重映射_第2张图片
2.该芯片虽然有PB4引脚,但是“部分重映射”后不能使用,估计是硬件上没有支持(个人猜测,因为此型号手册上写,见下图)。理由是,低端芯片你懂的,新芯片厂商不会重新设计一遍。肯定是在原来的基础上删删,整出一个缩水版。可能是因为怕影响到别的部分,或者就是没删干净。导致TIM3输出PWM波时,PB4(部分重映射,TIM3_CH1) ,不能用PB5(TIM3_CH2)能用。 所以,STM32F103C8T6在使用TIM3输出PWM波时,不要使用端口重映射。

PB4和PB5

具体代码如下
STM32端口重映射_第3张图片

3.因为stm32的芯片都是按系列写手册,所以STM32F103C8T6是写在STM32F103x6 STM32F103x8 STM32F103xB共同的一个手册上,这难免让我们在看手册的时候产生歧义。所以,一定要找对手册。看清楚具体的硬件管脚是否支持此功能。

你可能感兴趣的:(STM32)