у меня в программе есть такие строчки:
Код
_no_init __eeprom unsigned char ee1, ee2;
unsigned char width1, width2;
init()
{
... //здесь инициируются переменные
width1 = ee1;
width2 = ee2;
}
write()
{
unsigned char a, b;
...
ee1 = a; //по идее запись в eeprom
ee2 = b;
}
main()
{
init();
...
write();
...
}
unsigned char width1, width2;
init()
{
... //здесь инициируются переменные
width1 = ee1;
width2 = ee2;
}
write()
{
unsigned char a, b;
...
ee1 = a; //по идее запись в eeprom
ee2 = b;
}
main()
{
init();
...
write();
...
}
после того как я запрограммировал AVR, программа по мере выполнения должна записать другие значения в eeprom. Далее я выключаю питание AVR,
затем снова включаю и смотрю на дисплее какие значения в ee и ee1. Тут всё нормально - значения те же которые записала программа
в эти ячейки перед отключением. Но когда я вытаскиваю разъём программатора из платы, и делаю то же самое, т.е подаю питание на AVR,
запускается программа, далее она должна сохранить значения в ячейках ee и ee1, затем я её отключаю, чтобы при новом включении проверить
как записало и вот тут то вижу что значения там не изменились!
Т.е пока программатор подключен, всё нормально, а когда его отключаешь, то возникает подобная штука.
проект написан на СИ, откомпилирован в IAR5.10А, выходной формат msd-i.
Подскажите в чем проблема.
Заранее благодарю...