Робота з внутрішньої eeprom, avr lab пристрою на мікроконтролерах avr

потрібен ще більш детальний приклад - як викликати все це з основної програми, які значення може приймати uiAddress? довільні, як придумає користувач, від 0 до 255? а в attiny eeprom начебто 128 байт ..
правильно розумію, що функції працюють з байтами?

Я детектив пропажу харчування наступним чином: ставив діод з харчування, ємний кондер (близько 200мкФ), теж по харчуванню і виводив зовнішнє переривання int0 за діод. Як тільки пропадало харчування - спрацьовувало int0, але контролер при цьому живиться від конденсатора. А діод не дає решті периферії красти заряд на кондер.

Також загострю увагу на те, що еепрому примхливий до живлячої напруги. Тобто дані який пишуться на "останньому диханні" можуть бути пошкоджені.

vakula, а намалюйте, плз, схему включення цього діода / кондера? і які саме використовувати? так, щоб вистачило dword записати в пам'ять?

Зараз у мене пристрій живиться від 9В крони через ось такий модуль харчування
embeddedmarket.com/products/Dual-Voltage-Output-Board-5V-3-3V/
від 3,3 (5В використовувати типу не можу - працюю з uart портом низьковольтних)

на цьому модулі велика тринога - L7805 начебто
а зі зворотного боку мала - 1117 3.3

потім планую придумати що-небудь для того, щоб працювало від бортової мережі автомобіля, але все одно має працювати від 3,3.

тобто для attiny2313 uiAddress може приймати значення від 0 до 127?
і потрібно просто для себе запам'ятати, що я зберігаю в осередку 0, що - в осередку 1, а що - в осередку 127?
по харчуванню - в сенсі послідовно від роз'єму живлення?
коротше кажучи, ідея зрозуміла. а що, якщо не секрет, виконувалося в перериванні?
чи не запис чи в пам'ять? тобто конденсатора в 200мкФ вистачало?
до речі, цікаво, а як відбувається перемикання харчування з мережі на батарею (в якихось ноутбуках, наприклад)

і ніякої вигоди від використання Сі-компілятора немає. Цей код буде працювати у всіх середовищах, але краще почитати опис компілятора і використовувати можливості оного.

Яка вигода від Сі компілятора, якщо потрібно тупо вбити дані в регістри?

EEMEM uint8_t ee_var; // змінна розміром в байт в EEPROM

int main (void) uint8_t my_var;

my_var = eeprom_read_byte (ee_var); // вважали значення з EEPROM
.

eeprom_write_byte (ee_var, my_var); // зберегли значення в EEPROM
>

І чому це саме оператор // printf ( "% s", str); хіба це не може бути функцією передачі по Уарте просто код не повністю дан приклад роботи тільки з еепрому