В еепром хранится массив записей.
Нужно определить в ram парочку таких же записей и гонять данные туда-сюда.
Пишу на CV. (1.25b2 ... пробовал и на других - тот же результат)
TINY2313
Первое неудобство:
Код
typedef eeprom struct{
unsigned char h;
unsigned char m;
unsigned char s;
unsigned char d;
} tpoint_eep;
typedef struct{
unsigned char h;
unsigned char m;
unsigned char s;
unsigned char d;
} tpoint_ram;
tpoint_ram point_ram;
eeprom tpoint_eep point_eep;
unsigned char h;
unsigned char m;
unsigned char s;
unsigned char d;
} tpoint_eep;
typedef struct{
unsigned char h;
unsigned char m;
unsigned char s;
unsigned char d;
} tpoint_ram;
tpoint_ram point_ram;
eeprom tpoint_eep point_eep;
Приходится объявлять два "почти одинаковых" типа

Ну да ладно ... смирирился .. продолжаю.
Код
void func1(void)
{
point_ram = point_eep;
}
{
point_ram = point_eep;
}
Ругается на ошибку в АСМ-коде ... смотрю листинг - красота!
Код
__COPYME:
SBIC EECR,EEWE
RJMP __COPYME
IN R23,SREG
CLI
OUT EEARL,R30
OUT EEARH,R31
SBI EECR,EERE
IN R22,EEDR
OUT SREG,R23
ADIW R30,1
ST X+,R22
DEC R24
BRNE __COPYME
RET
SBIC EECR,EEWE
RJMP __COPYME
IN R23,SREG
CLI
OUT EEARL,R30
OUT EEARH,R31
SBI EECR,EERE
IN R22,EEDR
OUT SREG,R23
ADIW R30,1
ST X+,R22
DEC R24
BRNE __COPYME
RET
OUT EEARH,R31 - нет такого.
Встречал кто такое? Как побороли?
____
P.S.
Плюнул на CV:"Вот хороший повод переползти на WinAvr" ... почитал ... а у него вообще работа с "не SRAM" через функции eeprom_read_byte и т.д.
Тогда получается сравнение point_eep.h == point_rem.h вырастает в такую хучу кода ...
