Оформи код соответствующим тэгом
Здравствуйте! У меня крайне нестабильно работает плавный разгон шагового двигателя по прерыванию таймера
TCCR1A = 0; // установить регистры в 0
TCCR1B = 0;
TCCR1B |= (1 << WGM12); // включение в CTC режим
// Установка битов CS10 и CS12 на коэффициент деления 1024
TCCR1B |= (1 << CS10);
TCCR1B |= (1 << CS12);
TIMSK1 |= (1 << OCIE1A); // включение прерываний по совпадению
OCR1A = переменная, изменяемая в цикле старта; // установка регистра совпадения
Кто - нибудь делал так? И можно ли так делать?
Без прерываний таймера не обойтись, так как процессе разгона задействованы другие функции, например, запрос гироскопа.
TCCR1A = 0; // установить регистры в 0
TCCR1B = 0;
TCCR1B |= (1 << WGM12); // включение в CTC режим
// Установка битов CS10 и CS12 на коэффициент деления 1024
TCCR1B |= (1 << CS10);
TCCR1B |= (1 << CS12);
TIMSK1 |= (1 << OCIE1A); // включение прерываний по совпадению
OCR1A = переменная, изменяемая в цикле старта; // установка регистра совпадения
Кто - нибудь делал так? И можно ли так делать?
Без прерываний таймера не обойтись, так как процессе разгона задействованы другие функции, например, запрос гироскопа.