Страница 1 из 1

Atmega128: глючит eeprom_read_block

Добавлено: Пн июн 08, 2009 15:52:54
Gustov
Всем привет! Возникла такая проблема.

После вызова в программе
eeprom_read_block((void*)&port_tcp, (void *)(eeprom_socket_port), 2);
о коно терминала сыпет всякий мусор!
eeprom_read_byte работает нормально!

Подозреваю что дело в этом:
> "make.exe" all

AVR Memory Usage
----------------
Device: atmega128

Program: 50490 bytes (38.5% Full)
(.text + .data + .bootloader)

Data: 3641 bytes (88.9% Full)
(.data + .bss + .noinit)

Компилятор WinAVR.

Как быть не знаю. Может кто подскажет?

Добавлено: Пн июн 08, 2009 17:34:42
ARV
во-первых, насторожило отсутствие & у eeprom_socket_port - по аналогии с первым параметром макроса... eeprom_socket_port - это указатель или ...?
во-вторых, какая версия WinAVR и avr-libc в частности - был момент, когда вообще левачил ввод-вывод eeprom... в версии 20090313 вроде глюков нет...
в-третьих, был момент, когда порядок указателей в макросе был "наоборот", т.е. было источник - приемник, а стало наоборот... или было приемник - источник, а стало наоборот - это я уже и не припомню... и именно для блокового чтения - уточните по документации, как в вашей версии avr-libc на самом деле.

Добавлено: Вт июн 09, 2009 09:23:16
Gustov
WinAvr - 20060421
старьё. зато он компилит всарые проекты и они работают!
После сбора их под любой из новых версий контроллер уходит в постоянную перезагрузку. или неработает функция ATOI

Сейчас буду разбиратся.