TA的每日心情 | 奋斗 2024-4-23 17:55 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
注册会员
- 积分
- 56
|
发表于 2024-4-22 13:21:39
|
显示全部楼层
梁工你好!
“/******************* 强制电机启动函数 ***************************/
void StartMotor(void)
{
u16 timer,i;
CMPCR1 = 0x8C; //关比较器中断
PWM_Value = D_START_PWM; // 初始占空比, 根据电机特性设置
PWMA_CCR1L = PWM_Value;//UA
PWMA_CCR2L = PWM_Value;//VB
PWMA_CCR3L = PWM_Value;//WC
step = 0; StepMotor(); Delay_n_ms(50); //Delay_n_ms(250);// 初始位置
timer = 200; //风扇电机启动
while(1)
{
for(i=0; i<timer; i++) delay_us(100); //根据电机加速特性, 最高转速等等调整启动加速速度
timer -= timer /16;
if(++step >= 6) step = 0;
StepMotor();
if(timer < 40) return;
}
}”
这里“if(timer < 40) return;”是不是有问题啊,这个强制启动一直在这里循环出不去啊? |
|