Поздравляю !
А у меня наоборот - перестало работать
Точнее перестало в другом кристале. Делал я на АТмеге16, а по задумке это основной контроллер управления и нефик его нагружать левыми задачами по приёму и дешифровке сигнала. Поэтому (на самом деле там ещё есть причины) было решено загнать эту прогу в отдельное устройство на АТмеге8, а от неё получать готовый номер кнопки по UART-у.
Ну залил в 8-ю этот код. Не работает. Начал разбираться почему. Первая загвоздка всплыла быстро - разные вектора прерываний. Причём у 16-й двухбайтные и можно счётчик переполнения таймера прямо там сделать (inc,регистр и reti), а у 8-й однобайтные вектора, только джампами. Но это ладно, переделал. Не работает. Решил проверить что именно не работает дешифровка или UART. Набросал код, который просто байтики пересылает, а приёмник эти байты на светодиоды выводит. Всё нормально - пересылается стабильно и без ошибок. Значит загвоздка именно в программе дешифровки, как не странно. Вот только убей не пойму почему - всёж работало ! Трассирую в Студии - всё нормально. В кристале не хочет![]()