我在为我的 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
。
关于c - STM32 Usart1与TIM1不能同时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33914379/