新手入门
- 积分
- 14
- 金钱
- 14
- 注册时间
- 2020-5-20
- 在线时间
- 3 小时
|
3金钱
各位好,在下使用STM32F407ZG进行步进电机的控制,开发环境为HAL库,其中部分功能为:首先初始化定时器10,并利用HAL_TIM_PWM_Start(&htim10,TIM_CHANNEL_1)开始生成PWM波(1HZ),传给电机驱动板实现驱动步进电机。然后使用UART口和pc通讯,单片机实时发送位置数据(由编码器获得)给PC,当PC将提前制定好规则的一帧数据发送给单片机时,单片机通过判断来选择执行HAL_TIM_PWM_Stop(&htim10,TIM_CHANNEL_1);或者HAL_TIM_PWM_Start(&htim10,TIM_CHANNEL_1);
现在遇到的问题是:当第二次执行START函数时,PWM波就会停止变化,不再波动。现在我考虑是不是 &htim10 发生了变化,导致输出PWM异常。请各位大哥指教如何解决这个问题,能自由关闭和重新启动pwm输出(更改占空比也会造成相同的问题)。
下面附上相关控制程序(判断接收到的数据,进行控制)、MDK KEIL的debug时htim10的数值变化。
|
|