关于GPIO口对应外设的优先级关系(CH32F/V103)

1.对于客户使用多个外设,导致部分GPIO口不受控的问题,例如:CH32F203的定时器3开启后会导致所有TIM3的IO都受制于TIM3,因为TIM3对GPIO的控制优先级大于TIM1。

image

image

 由上面的表可知,当TIM3选中的引脚与TIM1选中的引脚重合时(默认映射或者响应映射),TIM1的GPIO会失效控制,

TIM3默认映射,TIM1部分映射1,重合的部分是 TIM1_BKIN.TIM1_CH1N.TIM1_CH2N.TIM1_CH3N.

2.解决:当不需要TIM3的CH通道输出的时候,只需要将对应的OC配置一下,宏选择  

对应寄存器位为

image

 

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Inactive;//PB0
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC3Init( TIM3, &TIM_OCInitStructure ); // 使用CH3通道

 此时PB0与TIM3解绑,此时再次使用TIN1_CH2N_1即可输出PWM。

3.以下为对应关系表。

image

 同理,使用对应外设时,高优先级的外设没有用到的IO,例如SPI的NSS引脚,不要使能硬件NSS即可,对应串口的话,硬件流控没有使用的话,不要配置相应寄存器即可。

posted @ 2025-08-01 20:33  WCH_CH32  阅读(40)  评论(0)    收藏  举报