Цитата(Diz @ Apr 4 2008, 01:10)

Спасибо, посмотрел. Нормального решения нет - кроме использования внешних костылей
для дерганья SDA. Я в итоге прицепил софтовый i2c (и настройка выходов в режим с открытым стоком оказалась очень кстати).
Так вроде не надо ничего дергать (хотя я мог и просмотреть, мельком посмотрел). Там ниже
labegf писал:
Цитата
After many tests, I discovered that the following initialization works. But, I just got it using a 10K pull-up resistors in the data and clock wires. The previous 4K7 were resulting in any unexpected behavior that I'm not able to explain.
void DrvI2C__Init (void)
{
TRISBbits.TRISB9= 0; //PB9 is output (SDA pin)
LATBbits.LATB9 = 0;
Nop();
I2C1BRG = 39;
I2C1CON = 0xD200; //Enable While PB9 is low
I2C1ADD=0;
I2C1MSK=0;
}
два внешних резистора ...