Witam serdecznie.
Chciałem poprosić o pomoc w tym prostym projekcie. Na płytce prototypowej podłączyłem do µC układ L293D, do niego silnik krokowy z czterema wyprowadzeniami(silnik z drukarki). Wszystko podłączyłem wg noty katalogowej drivera. Mój problem polega na tym, że po odpaleniu programu silnik wykonuje krok w przód i krok w tył. Nic poza tym. Czy to wina silnika czy programu? Oto kod:
Chciałem poprosić o pomoc w tym prostym projekcie. Na płytce prototypowej podłączyłem do µC układ L293D, do niego silnik krokowy z czterema wyprowadzeniami(silnik z drukarki). Wszystko podłączyłem wg noty katalogowej drivera. Mój problem polega na tym, że po odpaleniu programu silnik wykonuje krok w przód i krok w tył. Nic poza tym. Czy to wina silnika czy programu? Oto kod:
#define F_CPU 1000000ul
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
void main(void)
{
char licznik = 0;
DDRD = 0xFF;
PORTD = 0x00;
while(1)
{
if(licznik > 0)
{
licznik--;
}
else
{
licznik = 3;
}
switch(licznik)
{
case 0:
{
PORTD &= ~0x08;
PORTD |= 0x03;
break;
}
case 1:
{
PORTD &= ~0x01;
PORTD |= 0x04;
break;
}
case 2:
{
PORTD &= ~0x02;
PORTD |= 0x08;
break;
}
case 3:
{
PORTD &= ~0x04;
PORTD |= 0x01;
break;
}
}
_delay_ms(200);
}
} // main