ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
4293
Alexander (14.01.2004 02:47, просмотров: 445)
Вопрос про I2C интерфейс в LPC2106(+) Пытаюсь связать EEPROM 24LC64 с LPC. При первой же попытке сбросить SI, как описано в доке, после того как сгенерирован START все тихо умирает. Я посмотрел что происходит через JTAG, при выполнении __I2CONCLR_bit.sic=1; сбрасываются все биты __I2CONSET, те не то чтобы все, а совсем ВСЕ... и i2en в том числе, как результат получаю в __I2STAT = F8 и сушу весла... Может знает кто где собака порылась? Код не прост, а совсем прост... до последнего IF Я уже не дохожу... __PINSEL0_bit.p0_2 = 1; __PINSEL0_bit.p0_3 = 1; __I2SCLH = 14; __I2SCLL = 14; __I2CONCLR = 0xff; __I2CONSET = 0x40; __I2CONSET_bit.i2en = 1; // START __I2CONSET_bit.sta = 1; while (!(__I2CONSET_bit.si)); // SI wait if (__I2STAT == 0x08) { // write chip addr __I2DAT = CHIP_ADDR | WRITE; __I2CONCLR_bit.sic=1; // clear SI while (!(__I2CONSET_bit.si)); // SI wait if (__I2STAT == 0x18)