你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
feixiang20 发表于 2018-9-11 22:47 写个函数,单独更改pwm的占空比就行。不用重新初始化,不然容易造成乱跳。 ...
评分
查看全部评分
评分
查看全部评分
搞定,还是通过修改占空比 0%的方式实现
{
TIM_OC_InitTypeDef sConfigOC;
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);
if(a==0)
{
// HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 999;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
sConfigOC.OCIdleState = TIM_OCIDLESTATE_SET;
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
}
else
{
// HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 499;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
sConfigOC.OCIdleState = TIM_OCIDLESTATE_SET;
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
}
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
}
评分
查看全部评分
HAL竟然没有提供函数,得自己写寄存器