cvv (10.06.2008 11:55, просмотров: 8333)
кто нибуть пользовал Procyon AVRlib? Меня интересует момент почему после записи i2c eeprom 24lc512 на скорости 400 кбит я читаю не тоже самое что писал. вернее ф-я i2ceepromReadByte возвращает всегда старший байт адреса. Пример читающего кода:
int main(void)
{
// Crystal Oscillator division factor: 1
#ifndef __GNUC__
#pragma optsize-
#endif
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
InitChip();
SPI_SlaveInit();
i2cInit();
i2ceepromInit();
asm __volatile__("wdr");
static unsigned short i;
for(i=0; ; i++)
{
unsigned char byte;
byte = i2ceepromReadByte(0, i);
OutData(_BV(0), digit_value_mask[i &0x000f]&0x7f);
OutData(_BV(1), digit_value_mask[(i>>4) &0x000f]&0x7f);
OutData(_BV(4), digit_value_mask[(i>>8) &0x000f]&0x7f);
OutData(_BV(5), digit_value_mask[(i>>12)&0x000f]&0x7f);
OutData(_BV(2), digit_value_mask[byte &0x0f]&0x7f);
OutData(_BV(3), digit_value_mask[(byte>>4) &0x0f]&0x7f);
delay_ms(500);
}
wbr Vitaly