stm32初始化PWM和初始化串口冲突相关问题
·
问题描述:先初始化串口,后初始化PWM,会导致PWM无法正常运行
usart_init(115200); /*串口初始化*/
TIM3_CH2_PWM_Init(500-1,72-1); //频率是2Kh
反之先初初始化PWM,后始化串口,则没有问题。
TIM3_CH2_PWM_Init(500-1,72-1); //频率是2Kh
usart_init(115200); /*串口初始化*/
可能原因:TIM_OCInitTypeDef TIM_OCInitStructure;这个结构体变量,所以我猜想可能的原因是因为结构体变量是局部变量,没有指定初始化值,使结构体成员TIM_Pulse是个随机值,最终导致CCR1的值错误。所以没输出了。所以在申请变量的地方给这个结构体的局部变量赋初值为0就好了。
解决方案:给 TIM_OCInitTypeDef 的结构体赋初值为0
TIM_OC_InitTypeDef TIM3_CH2Handler={0}; //定时器3通道2句柄
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)