新手上路
- 积分
- 24
- 金钱
- 24
- 注册时间
- 2021-2-17
- 在线时间
- 6 小时
|
我是利用定时器的输出比较来控制步进电机,但是实际测试之后发现调速部分有问题,我觉得问题应该出现在定时器的中断服务函数部分,这个问题困扰了我好久,希望大佬帮帮忙找找问题。附件上有源文件。
void TIM1_CC_IRQHandler(void)
{
__IO uint32_t count;
__IO uint32_t tmp;
if(TIM_GetFlagStatus(TIM1,TIM_FLAG_CC1) != RESET)
{
if(TIM_GetITStatus(TIM1,TIM_IT_CC1) != RESET )
{
{
TIM_ClearITPendingBit(TIM1, TIM_IT_CC1);
count =TIM_GetCounter(TIM1);
tmp = STEPMOTOR_TIM_PERIOD & (count+Toggle_Puls);
TIM_SetCompare1(TIM1,tmp);
pulse_count++;
// TIM_ClearITPendingBit(TIM1, TIM_IT_CC1);
} TIM_ClearFlag(TIM1, TIM_IT_CC1);
TIM_ClearITPendingBit(TIM1, TIM_IT_CC1);
}}
}
|
|