Hi,
i'm using the AW32 I2C module, implementing a master only C code with interrupts. I drive a PCF8570 I2C RAM at 89khz with 4,7K pullups, at less than 5 cm distance on the board. For information, i use this RAM only to save data with a backup battery when the power is off. The main reason is that i couldn't get accurate information on the way to backup directly the AW32 RAM (very basic topic, yes...but the support is still working on it). But it's another story.
I started my I2C integration today, and of course, nothing works. At reset, the SDA, SCL lines are high, and after using my write routine for the 1st time, both still at low forever.
I used a step by step execution in the write routine. The lines are high up to arrive at the START condition. At master selection (ie START or IIC1C_MST = 1), both pins goes and still low. No data out, and the interrupt never comes. It occurs also when i remove the PCF8570 .
IIC1C_TX = 1; /* Select Transmit Mode */
IIC1C_MST = 1; /* <<<< problem occurs here Send Start) */
//for(T=0;T<10;T++); /* Small delay */
SCI1D = iicport_1.IICaddr; /* write address to start transmission */
I tried various SW combinations using the HS08 docs (peripheral module quick reference, ...) but no change.
I think, by reading this forum, that there is a HW bug somewhere. I'll send a service request.
Bye