I’m currently testing I2C on a CH32V003F4P6.
The I2C connection is made between the CH32V003F4P6 and an Arduino Nano. When the CH32V003F4P6 is configured as master and the Nano as slave, I2C communication works.
If the CH32V003F4P6 is configured as slave, the I2C no longer works.
Do you have any idea on how to resolve this issue?
1 - Running both CH32 and Nano on 5V
2 - With or without a pull-up resistor, the I2C operates (in master mode for the CH32) : due to the line capacitance, the addition of pull-up resistors still improves the quality of the signals).
Yep, not implemented, that will be it. The code is deceiving, in lots of places there seem to be provisions for slave mode, but it does not seem to be completed. Unless you want to get into the knitty-gritty of adding the missing code, I’d recommend using the ch32v003 project for the I2C slave. This is a much lower level abstraction though, so sometimes you’ll have to get dirty with register writes.