Vericifa stato mcp23017 via software

Ciao a tutti,
sto utilizzando senza particolari problemi 3 espansioni IO con mcp23017 su ESP32 attraverso libreria dedicata arduino-mcp23017.
Ai fini di creare un sistema di log che sia in grado di individuare malfunzionamenti dei componenti mcp, vi è qualche metodo per capire da codice cpp se il componente ha qualche problema? o quantomeno qualcuno si è mai posto tale problema?
grazie

Buongiorno e benvenuto nella sezione Italiana del forum,

cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE (... quello che vedi in blu è un link, fai click su di esso per raggiungere la discussione) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

Quale libreria esattamente? Ce ne sono in giro diverse, metti il link a quella che usi altrimenti è difficile aiutarti. Perchè se vuoi avere un feedback dei vari comandi che invii deve essere la libreria a fornirlo.
Io in genere uso questa libreria, dove in genere ogni comando che non ritorna un valore esplicito ritorna un bool, true in caso di successo, false se il comando fallisce, poi con il metodo lastError() ti può dire che tipo di errore si è verificato.

Ciao, Ale.

Grazie, proverò con questa libreria.

potrebbe essere interessante questo passaggio tratto dalla libreria che mi hai suggerito:

bool MCP23017::isConnected()
{
  _wire->beginTransmission(_address);
  if (_wire->endTransmission() != 0)
  {
    _error = MCP23017_I2C_ERROR;
    return false;
  }
  _error = MCP23017_OK;
  return true;
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.