неправильный коэффициент деления

AVR версия программы

неправильный коэффициент деления

Сообщение krian (krian) » 27 авг 2017, 13:53

Экспериментируя с Flowcode 6, я обнаружил ошибку.
При установке предварительного делителя для таймера 2 в окне настройки прерывания по переполнению, он задается, видимо, тем же кодом, что и для таймеров 0 и 1. В результате получается не то, что ожидается. Например, если для таймера 1 код прескалера b100 дает коэффициент 256, то для таймера 2 это будет коэффициент 64. В даташите таблица есть, в которой показано, что прескалер таймера 2 имеет больший набор коэффициентов деления. Для коэффициента 256 ему надо записать код b110. Но Flowcode 6 этого не делает.
Чтобы получить нужный коэффициент, нужно сначала разрешить прерывание с остановленным таймером, а дальше вставить код на Си:
TCCR2B=(1<<CS22) | (1<<CS21) | (0<<CS20); //включение таймера2 через делитель 256.
Тогда все работает правильно.
Ник: krian
Имя: krian
(Харьков)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: неправильный коэффициент деления

Сообщение Yushik (Андрей) » 27 авг 2017, 18:47

В ФК-6 дочерта всяких глюков и ошибок, которые перетекли из 5 и 4 версий. Только в 6 вылечить ничего нельзя, в отличии от 5.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Специалист
Специалист
Информация о пользователе


Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron