Martian писал(а):Я не знаю устройство...
в этом вся проблема))
I2C я не использую...
Martian писал(а):Наверняка в атмеге есть правила их чтения и какие-то блокировки.
откуда в avr БЛОКИРОВКИ РЕГИСТРОВ ???
Martian писал(а):сторожевой таймер (который ещё надо включить, настроить, написать пост-обработку события) - круто.
//Ст таймер тактируется от отдельного встроенного генератора частотой 1 МГц.
//Ст таймер сбрасывается при выключении или во время сброса микроконтроллера.
//WDTCR=0b00001111; // настройка сторожевого таймера:
//0... .... - Зарезервированные
//.0.. .... - Зарезервированные
//..0. .... - Зарезервированные
//...1 .... WDCE - Разрешение изменения сторожевого таймера
//.... 1... WDE - Вкл. сторожевого таймера
//.... .1.. WDP2 - предделитель
//.... ..1. WDP1 - предделитель
//.... ...1 WDP0 - предделитель
////////////////////////////////////////////////////////////////////////////////
//предделитель WDP2 -WDP1 -WDP0:
// 000: количество тактов: 16,384; время переполнения: 16,3 mc
// 001: количество тактов: 32,768; время переполнения: 32,5 mc
// 010: количество тактов: 65,536; время переполнения: 65 mc
// 011: количество тактов: 131,072; время переполнения: 0,13 c
// 100: количество тактов: 262,144; время переполнения: 0,26 c
// 101: количество тактов: 524,288; время переполнения: 0,52 c
// 110: количество тактов: 1.048,576; время переполнения: 1,0 c
// 111: количество тактов: 2.097,152; время переполнения: 2,1 c
////////////////////////////////////////////////////////////////////////////////
//Вкл. ст таймер:
WDTCR=0b00011000; // Разрешение изменения сторожевого таймера
WDTCR=0b00001000; // Вкл. ст таймер
// #asm("wdr") // Сброс сторожевого таймера
////////////////////////////////////////////////////////////////////////////////
//Выкл. ст таймер:
//WDTCR=0b00011000; // Разрешение изменения сторожевого таймера
//WDTCR=0b00000000; // Выкл. ст таймер
настроить ОДИН регистр - это просто безумно сложная задача !))
не вздумайте повторять это дома !
Martian писал(а):написать пост-обработку события
откуда в avr ОБРАБОТЧИК СОБЫТИЙ ???
при срабатывании сторожевого таймера... AVR перезапускает всю программу... читает инструкции из памяти сначала))