я имею в виду что клок (SCL), т.е. длительность клоков спецификация I2C говорит:
The output stages of devices connected to the bus must have an open-drain or
open-collector to perform the wired-AND function.
For a single master application, the master’s SCL output can be a push-pull driver design
if there are no devices on the bus which would stretch the clock.
Clock stretching is a feature of some slaves. If no slaves in a system can stretch the clock (hold SCL LOW),
the master need not be designed to handle this procedure
3.1.9 Clock stretching
https://www.nxp.com/docs/en/user-guide/UM10204.pdf
так как у вас Slave поменялся, то в теории он может уметь затягивать SCL (в полном соответствии со спецификацией). я не утверждаю что проблема в этом, но встречался со случаями "необъяснимых" проблем из-за этой фичи. Для программного I2C на PIC-ах лечение простое - управлять через TRIS, а не PORT/LAT