Тестирование и запуск шаговых двигателей

Здравствуйте.

Периодически мне требуется проверять шаговые двигатели. И для этих целей написана простая прошивка для микроконтроллера AVR atmega328p, выбран этот микроконтроллер, так как имеется очень удобная и дешевая отладочная плата Arduino UNO с оным МК.

#define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> // Инициализируем порт void InitPorts () { DDRC = 0xFF; PORTC = 0x00; } unsigned char steps [] = {8, 12, 4, 6, 2, 3, 1, 9}; /* Полушаговый режим: ABCD 8 - 1000 12 - 1100 4 - 0100 6 - 0110 2 - 0010 3 - 0011 1 - 0001 9 - 1001 */ // Полный шаг unsigned char steps2 [] = {8, 4, 2, 1}; int main() { InitPorts (); while (1) { for (unsigned char i = 0; i < 8; ++i) { PORTC = steps [i]; // Задержка между шагами (нужна обязательно) // Подбирается экспериментально _delay_ms (15); } } return 0; } Читать дальше