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

Проблема с I2C

Добавлено: Пт май 20, 2011 22:34:12
Sagamor
Препод дал лабораторную, а она не работает, ктонибудь может разобраться в чем дело? очень надо:(
зависает на строчке while (!(TWCR & (1<<TWINT))) ;//Wait for TWINT flag set
В функции:

Код: Выделить всё

char mi2c_start(void) {
  TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN);  //Send START condition
  delay_us(1);
  while (!(TWCR & (1<<TWINT))) ;//Wait for TWINT flag set
  return (TWSR & 0xF8);
}

Re: Проблема с I2C

Добавлено: Пн май 23, 2011 07:04:52
coredumped
На SDA и SCL подтяжки стоят? Внутренний pull-up не работает. Причина, скорее всего, в этом.
По коду - все правильно (я смотрел только minit_i2c_Master(void) и mi2c_start(void)). Единственное предложение - задержку в mi2c_start(void) убери (delay_us(1)) - нафиг не нужна.

ЗЫ: Могу 100% работающую либу подкинуть, если нужно.

Re: Проблема с I2C

Добавлено: Пн май 23, 2011 18:40:08
Sagamor
Не надо уже) спасибо большое:)