Столкнулся с непонятной проблемой. Есть проект под мегу128, который пишу в codevision 2.04.4a
Сейчас проект занимает около 55 килобайт, если компилировать с оптимизацией по памяти.
Суть проблемы:
Проект работает с СД картой, иногда пишет на нее, иногда читает.
Когда добавил новую функцию для чтения данных, проект спешно компилируется. Но при работе не находит такого файла на карте!
Перепроверил что только можно, делаю так:
- void SD_read_logo (void){}
....
void menu (void){
if (x==5) SD read_logo();
}
КОПИРУЮ эту же функцию еще, и меняю ей название:
- void SD_read_logo (void){.....}
void SD_read_logo_test (void){.....}
....
void menu (void){
if (x==5) SD read_logo();
}
if (x==6) SD_read_logo_test();
Если поменять МЕСТАМИ! (не переименовать, а просто поменять местами) функции:
- void SD_read_logo_test (void){.....}
void SD_read_logo (void){.....}
void menu (void){
if (x==5) SD read_logo();
}
if (x==6) SD_read_logo_test();
Т.е. работает только та фукция, которая в тексте идет первой!
Переименовал все переменные в фукции (они простые, просто чтение блока и копирование в еепром), ничего не меняется!
Менял оптимизацию на скорость, и степени оптимизации - нет результата!
Что это может быть? Глюк кодевижена? Сомневаюсь, если мой - то где смотреть? На что обратить внимание?
Для стека выделяю 1 кб, расчетно используется 300 байт. И еще остается примерно 500 байт ОЗУ.
Ув. Коты, выручайте, совсем нет идей.

