[an error occurred while processing this directive]
|
// mainmotor.h управление биполярным шаговым лвигателем FDK SMR30
// Микросхема драйвера LB1650
// Ножки розданы в hal.h#define OneStepDelay 2
extern volatile u08 RealOpto;
volatile u08 CurStep; // Текущее значение запитаных фазvoid MotorInit (void)
{
bit_off(mE);
bit_off(mIN1);
bit_off(mIN2);
bit_off(mIN3);
bit_off(mIN4);
CurStep=0;
}
//-----------------------------------------------------
void OneStep (void)
{
switch (CurStep)
{
case 0:
bit_on (mIN1);
bit_off(mIN2);
break;
case 1:
bit_on (mIN3);
bit_off(mIN4);
break;
case 2:
bit_off(mIN1);
bit_on(mIN2);
break;
case 3:
bit_off(mIN3);
bit_on(mIN4);
break;
}
BigDelay(OneStepDelay);
if (CurStep++ > 3) CurStep=0;
}
//-----------------------------------------------------