Mi circuito es:
USBTinyISP < -usi / icsp- > ATTiny85 < -usi / i2c- > MCP4725 .
Es decir, los pines USI utilizados para programar el t85 también se usan para i2c en el circuito final.
Cuando intento programar en flash el t85 en el circuito, falla. Si desconecto la línea SDA del 4725 durante la programación, funciona. Supongo que que el 4725 está confundiendo el nivel de SDA con los paquetes ACK I2C y, por lo tanto, interfiere con la línea MOSI compartida durante la programación. Pero si es así, entonces mi ICSP no es realmente en Circuito :(. Es decir, si el circuito fue permanente, no podría programar el MCU, excepto eliminándolo. Sin embargo, veo muchos circuitos con encabezados de ICSP en ellos que presumiblemente trabajo.
¿Cómo se evitan las interferencias lógicas del circuito cuando programo a través de ICSP? La única solución que se me ocurre es usar un microcontrolador con pines ICSP dedicados. Pero, ¿hay alguna otra solución de práctica común para este problema?