我用高级定时器TIM1输出比较模式控制步进电机,然后通过蓝牙与手机上的app通信,当我把TIM_CtrlPWMOutputs(TIM1, ENABLE);去掉后(其他定时器配置都不注释掉),手机上的可以显示stm32串口发来的速度信息,但是此时是没有pwm输出的,那就说明我的串口配置是正常的,但是我加上TIM_CtrlPWMOutputs(TIM1, ENABLE);后,stm32就无法发送信息了,(一开始以为是蓝牙有问题,后来用电脑上的串口助手发现也不能受到)但是我通过手机可以控制步进电机的速度,说明接受是可以的。我以为TIM_CtrlPWMOutputs()这个函数对usart1有干扰,我看了下源码,跟usart1没有半毛钱关系啊,我还试了一下直接操作寄存器,也还是一样的效果。对此感觉很奇怪,这是不是又是stm32f103的一个bug?我把代码也上传分享一下,亲测可用的除了以上一点小bug,是57步进电机配合tb6600驱动的。 |