PIC18F46K42 e porte I2C

4 Anni 8 Mesi fa #6 da Mauro Laurenti
Risposta da Mauro Laurenti al topic PIC18F46K42 e porte I2C
Salve Bruno,

ho visto i dettagli del PIC18F46K42, è troppo diverso dagli altri PIC18.
Modulo I2C e UART sono basati altri registri. Integrarlo in LTlib non è solo questione di di file di configurazione ma tutte le periferiche sono diverse.

Per ora ho creato comunque il file base di configurazione ma senza il PIC tra le mani è un'impresa troppo ardua cambiare il resto della libreria.

A che punto sei con la scheda?
Opzioni di usare il PIC18F46K22?

La Libreria LTlib supporta il modello ad 8 bit dell'mcp23017, ovvero mcp23008.

Continuando con quello che hai:

la libreria I2C è spesso di tipo bloccante, ovvero il controllo se il bus è in stato di idle o viene ricevuto correttamente l'ACK della periferica sono controlli bloccanti. Se qualche cosa non va, aspetta all'infinito per l'evento.
Problemi di resistori di output o configurazione errate dei pin IO possono creare problemi sul controllo di idle.
Se sbagli l'indirizzo della periferica mcp23017 non ricevi l'ACK e si blocca tutto.

Se esegui il programma passo passo (in modalità debug) puoi vedere dove si blocca il tutto.

Verifica che le linee SDA e SCL siano a livello alto con i resistori di pull-up.
Se hai un oscilloscopio controlla i dati inviati e dove si blocca.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login