i2c clock stretching
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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
- Labels:
-
STM32CubeIDE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-08 11:42 PM
did you use a pullup resister?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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.
