Hi,
I'm evaluating I2C function for my I2C slave device.
And I've failed to run it from default MXQ 3.8,1 both included I2C example and on board accel sensor quick start demo
(TWR-K70F120M_QSD). As well as my 0x10(7 bit address) slave device.
All test have stuck in the first default I2C0 poll address write:
fwrite (xxx,xxx,..) API that go to "C:\Program Files\Freescale\Freescale MQX 3.8\mqx\source\io\i2c\polled\i2c_pol_ki2c.c"
line 639:
And further checked K70 board general I/O port J5, pin3 (I2C0_SCL) by multi-meter.
There is only 0.11V low voltage that is different to 3.3 V working voltage required.
Also, double checked user_config.h I2C0 is enabled.
It has showed no response from the peer slave device.
Is it a configuration problem or a hardware de-function problem?
#define BSPCFG_ENABLE_I2C0 1
#define BSPCFG_ENABLE_II2C0 1
i2c_pol_ki2c.c:
uint_32 _ki2c_polled_tx(...)
{
...
while (0 == (i2c_ptr->S & I2C_S_IICIF_MASK))
...
}
Hello Chientsai!
Was this suggestion helpful? We'd like to know! :smileyhappy:
Best regards!
Hi Chientsai,
Have you tried enabling only one of the drivers for I2C? Based of your code you are enabling interrupts and polling. Try only one of them, perhaps polling first.
Hope that helps.
Regards,
Vicente