Цитата(arttab @ Nov 2 2006, 15:19)

Блин, по даташиту 8,5 мсек. а один "байт быстропишится" так как в буфер. а так (4-1)*8,5мсек= 25 мсек. Буфер есть на 1 байт.
Понял.
Вопрос только почуму компилятор использует __eeput16_8, почему не __eeput8_8
Скомпилил только что вот такой текст:
Код
UCHAR sram[32];
UCHAR __eeprom eeprm[32];
__C_task main(void)
{
UCHAR *sramp = sram;
UCHAR __eeprom *eeprmp = eeprm;
UCHAR i = 32;
while(i--)
*eeprmp++ = *sramp++;
}
То же самое на асме:
Код
26 while(i--)
27 *eeprmp++ = *sramp++;
\ ??main_1:
\ 0000000C 8100 LD R16, Z
\ 0000000E 01A9 MOVW R21:R20, R19:R18
\ 00000010 ........ CALL __eeput8_16
\ 00000014 9631 ADIW R31:R30, 1
\ 00000016 5F2F SUBI R18, 255
\ 00000018 4F3F SBCI R19, 255
28
\ ??main_0:
\ 0000001A 2F01 MOV R16, R17
\ 0000001C 2F10 MOV R17, R16
\ 0000001E 951A DEC R17
\ 00000020 2300 TST R16
\ 00000022 F7A1 BRNE ??main_1
У меня ИАР версии 4.10А... А что Вас смущает? Не нравится местная функция, напишите свою. Делов то там не много)