简体   繁体   English

STM32 Usart1不能同时与TIM1一起使用

[英]STM32 Usart1 doesn't work with TIM1 at the same time

I came across a problem while programming my stm32f103rbt6. 我在编写stm32f103rbt6时遇到问题。

I'm using TIM1 (PB14, PB15) to generate PWM signal (works great) and USART1 (PA9, PA10) for bluetooth communication. 我正在使用TIM1(PB14,PB15)生成PWM信号(效果很好),并使用USART1(PA9,PA10)进行蓝牙通信。 The thing is, that I can't make PWM and USART1 TX work at the same time. 事实是,我不能同时使PWM和USART1 TX工作。 Everything works perfect until I make this config: 一切正常,直到我进行以下配置:

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 stops working after that. 此后,USART1 TX停止工作。 I'll appreciate any help! 我将不胜感激!

Never use ST's structures without complete initialization of its fields! 在未完全初始化其字段的情况下,切勿使用ST的结构!

In your case, there is enabled TIM1_CH2 output on PA9 pin, because you didn't specify TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable . 在您的情况下,由于未指定TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable ,因此在PA9引脚上启用了TIM1_CH2输出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM