我在编程stm32f103rbt6时遇到一个问题。
我正在使用TIM1(PB14,PB15)生成PWM信号(工作良好)和USART1(PA9,PA10)进行蓝牙通信。
问题是,我不能让PWM和USART1 TX同时工作。在我进行以下配置之前,一切正常:
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC2Init(TIM1, &TIM_OCInitStructure);
TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);
之后USART1 TX停止工作。
我很感激你的帮助!
最佳答案
在没有完全初始化其字段的情况下,不要使用ST的结构!
在您的例子中,PA9管脚上有启用的TIM1_CH2输出,因为您没有指定TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable
。