Доброго времени всем! Пока выходные, решил штудировать книги по МК на С. Захотелось с енкодером поиграться, схему собрал, программу по книгам написал, но не работает. Подскажите, пожалуйста, где ошибка? Спойлер
Код:
#define F_CPU 8000000UL
#include <avr/io.h> #include <util/delay.h> int NewState,OldState,Vol,upState,downState;
подозреваю, что таймер настроен неправильно... и/или его прерывания. кстати для генерации прерываний и 8битного таймера хватит...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
И еще - переменные, которые меняются в прерывании, должны быть объявлены как volatile. Иначе компилятор просто выкинет их при оптимизации, т.к. не в курсе, что они там могут поменяться. С его точки зрения код в прерывание не заходит сам, а значит меняться они не будут.
Добавлено after 9 minutes 10 seconds: PS: А еще откройте режим таймера CTC. TCCR1A = 1<<WGM12; и не надо сбрасывать TCNT1 в прерывании. МК сам будет сбрасывать каждый раз по достижению OCR1A.
Если вы только осваиваетесь, сделайте без прерываний сначала. Просто вставьте 1-мс делай в основном цикле в котором будет крутиться ваш код. Обкатайте, а потом уже переносите в прерывание.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения