2024-05-08 10:44 PM
Hi,
now I'm implementing i2c with 1 master(U575ZI-Q) and 3 slave(L432KC) boards.
master transmit dataBuf to slave
HAL_I2C_Master_Transmit_IT(&hi2c1, addr<<1, dataBuf, sizeof(dataBuf));
and Slave receive it.
HAL_I2C_Slave_Receive_IT(&hi2c1, dataBuf, sizeof(dataBuf));
I already checked slave address and dataBuf, no problem.
The problem is..
Master is ready to transmit(write) to slave 0x08, but it doesn't transmit the dataBuf contents.
SCL stay LOW and SDA stay HIGH...
IDK what's the problem.
thank you
2024-05-08 11:42 PM
did you use a pullup resister?
2024-05-08 11:55 PM
yes, I pull up SCL and SDA with 4.7kohm pullup resistor and 3.3V
and set GPIO Pull-up/Pull-down to No pullup and no pulldown.
2024-05-09 10:53 AM
Hi,
vague description...
1. master -> slave transmit works - right ? So : how long, often...when its no more working?
2. if no slave response or what slave doing , when this 1-byte-transfer happens ? spike on line ? -> error state ?
3. distance to slaves + full lenght of I2C lines ?
4. if you make the pic still a little smaller, could use it as avatar . I can only guess, what it should show.