Проблема с инициализацией шины, она иногда виснет.Вот код который использую:
void I2C_Start(){
I2C_Wait();
SEN=1;
while(!SEN);
}
void I2C_Stop(){
I2C_Wait();
PEN=1;
}
void I2C_Wait(){
while((SSPSTAT&0x04)||(SSPCON2&0x1F));
}
void I2C_TX(char buf_w){
I2C_Wait();
SSPBUF=buf_w;
while(!R_W);
}
Проблема в циклах while(!SEN);while(!R_W), тут и зависает программа.Если их убрать проблем не возникает все работает как надо.
Но в документации CN_00735a от микрочипа они есть.


