Estoy tratando de comunicar un arduino con una Tarjeta auxiliar Silabs F560 Toolstick.
En Arduino (Master)
He cargado el programa de escáner i2c de enlace que básicamente hace ping a todas las direcciones posibles (0x00 a 0x7F) en el bus tratando de obtener un ACK.
En C8051F560 (esclavo)
He cargado el código Slave de ejemplo dado por Silicon Labs de la dirección 0x78. He cambiado la frecuencia de SMBus a 100000 (ya que Arduino funciona en 100kHz)
El Arduino no pudo reconocerlo en el autobús. He intentado resistencias pull-up de diferentes combinaciones 3.3k, 6.6k, 10k ohms. Eso no hizo ninguna diferencia.
Cuando intenté analizar el bus con un analizador lógico, la SiUabs MCU estaba interrumpiendo el SCL conducido por Arduino.
Creo que un código de ejemplo dado por un fabricante debería funcionar bien.
¿Hay algo que me esté perdiendo? ¿O es el H / W que está dañado?