Делал через 4 дискр линии ср точка на земле так(+) При ulin2003 средн точку на питалово
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено гоша 15 мая 2004 г. 19:35
В ответ на: подключение униполярного шаговика к мк отправлено Pashka2k 15 мая 2004 г. 19:13


#include
#include
#include

int main()
{int i, t=100;
int base_addr=0x200;
char c, ch, dir=0;

outp(base_addr, 0x00);
outp(base_addr+ 1, 0x00);
outp(base_addr+ 2, 0x00);
outp(base_addr+ 3, 0x00);

puts("\nsmotor> \t --- step moptor test. tver car building plant. ---\n");

for(i= 0;1 ; i++)
{if(kbhit())
{ch=getch();
switch(ch)
{case 27: outp(base_addr, 0x00); puts("\nsmotor> \t --- step moptor is halted. Bye. ---\n"); return 1;
case 32: dir= ~ dir; break;
case 'd': printf("smotor> delay ?>"); scanf("%d",t);puts("\n");break;
}
}
printf("smotor> step %d /dir=%s/pulse %d[%d] ", i/4, (!dir)? "+x": "-x", c=(char) i%4, t);
switch(c)
{case 0: c=(!dir)? 0x09: 0x0c; break;
case 1: c=(!dir)? 0x03: 0x06; break;
case 2: c=(!dir)? 0x06: 0x03; break;
case 3: c=(!dir)? 0x0c: 0x09; break;
}
outp(base_addr, c);
delay(t);
ch= inp(base_addr);
printf("%s[%02x/%02x]\n", (c== ch)? "-ok": "- fault", c, ch);
}
return 1;
}



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru