Цитата(ILYAUL @ Sep 12 2011, 20:25)

Вы сами то какой корпус используете? Если не SOT-23 на GND их
Корпус SOIC, пробовал с GND, результат тот же.
Цитата(Сергей Борщ @ Sep 12 2011, 20:50)

aanbor: показывайте код, в диаграмме проблем не видно.
I2C_Init();
while(1) // тестовый цикл
{
Flash_WR(0x0101,0x55);
Nop(); // здесь ставлю breakpoint
}
void I2C_Init(void) //инит I2C
{
I2C2CONbits.I2CEN=1; //включение модуля
I2C2CONbits.I2CSIDL=0; //модуль работает в IDLE режиме
I2C2CONbits.ACKEN=1; //ACK используется
I2C2BRG=200; //100 кГц
// I2C2BRG=0x030; //400 кГц
}
//-----------------------------------------------------------------------------------------------------------------------
void I2C_Start(void) //I2C старт
{
I2C2CONbits.SEN=1; //запуск старта
while(I2C2CONbits.SEN); //ожидание завершения
}
//-----------------------------------------------------------------------------------------------------------------------
void I2C_Stop(void) //I2C стоп
{
I2C2CONbits.PEN=1; //запуск стопа
while(I2C2CONbits.PEN); //ожидание завершения
}
//-----------------------------------------------------------------------------------------------------------------------
void I2C_Wait(void) //ожидание завершения передачи
{
while(I2C2STATbits.TRSTAT); //ожидание завершения передачи
}
//-----------------------------------------------------------------------------------------------------------------------
void Flash_WR(unsigned short Adr,unsigned char Dan) //запись в память
{
I2C_Start(); //I2C старт
I2C2TRN=0b10100000; //идентификатор и направление передачи
I2C_Wait(); //ожидание завершения передачи
I2C2TRN=Adr >> 8; //старшая часть адреса
I2C_Wait(); //ожидание завершения передачи
I2C2TRN=Adr & 0x00FF; //младшая часть адреса
I2C_Wait(); //ожидание завершения передачи
I2C2TRN=Dan; //данные
I2C_Wait(); //ожидание завершения передачи
I2C_Stop(); //I2C стоп
DelayMs(6); //время на запись
}
PIC32MX795F512L, Compiler C32