Hi! Spent long time and no result with seemingly simple issue. I am talking to MPR121 and trying to get at least something to work I2C communication works, chips acknowledges any requests to address 0x5A. But whatever registers I read, result is zero. All I2C stack I use is known to work for writing data. I include oscillogram, maybe someone can spot something just obviously wrong. I am trying to read register 0x5D because it must be non-zero by default. I tried also read all registers from 0 to 255 and nothing returns any bits.
bool r2= HalSensorReadReg(0x5D, &pBuf2,1);
// char buf;
// sprintf(buf," %3d %d %3d ",pBuf2,r2,i++);
// OLED_text(buf,0,0) ;
Same thing enlarged:
Chip is alive and sends acknowledges but never returns any data. Ideas?
EDIT: Have tried to insert delays, change communication speed, re-read everything. No help. Then I attached Arduino with some sample code to same bus and MPR121 register 0x5D instantly read 0000 0100. So hardware problems possibly ruled out.