Problema Pic16f887 lettura e stampa temperatura

4 Anni 3 Mesi fa - 4 Anni 3 Mesi fa #1 da Kada

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • Kada
  • New Member
  • New Member
Di più
4 Anni 3 Mesi fa #2 da firstcolle
Risposta da firstcolle al topic Problema Pic16f887 lettura e stampa temperatura
capperi, un programma in assembly, non lo vedevo da un bel po'.

hai provato in debug a vedere se i valori letti e convertiti della temperatura sono corretti? giusto per capire se il problema è la conversione o l'invio tramite UART.

altra prova da fare è inviare una stringa di test via UART in modo da verificare che quella parte funzioni

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

  • firstcolle
  • Avatar di firstcolle
  • Platinum Member
  • Platinum Member
Di più
4 Anni 3 Mesi fa #3 da Kada
Allora per il debug sinceramente no ancora non ho provto perchè uso mplabx e non mi è ancora chiaro come funziona.
per quanto riguarda la stampa ho già provato a stampare due valori scelti arbitrariamente e li stampa senza problemi, dunque il problema potrebbe essere nella routine dell'adc o nellla formattazione dei valori.

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

  • Kada
  • New Member
  • New Member
Di più
4 Anni 3 Mesi fa #4 da Kada
Aggiornamento: Ho provato con il debug ma il programma si stoppa con l'ingresso in interrupt (generato dal timer).
Consigli?

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

  • Kada
  • New Member
  • New Member
Di più
4 Anni 3 Mesi fa #5 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Problema Pic16f887 lettura e stampa temperatura
Salve Kada,

dalle risposte hai visto che scrivere in Assembly può rendere le cose complicate agli altri.

Ho scritto molto in assembly anche io, ma a quei tempi di compilatori C gratuiti non ce ne erano.
Quando sono comparsi sono migrato al C.

L'assembly va bene per imparare i dettagli della MCU, ma passata questa fase passa al C.
Quando farai il debug del codice C, conoscere l'assembly ti aiuterà nel debug del codice.
Per cui l'averlo imparato ti tornerà utile.
Ma non prolungare troppo la fase "assembly".
In C andrai molto più veloce nello sviluppo del codice e soprattutto il debug dello stesso.


Tornando al caso specifico:
considera che durante la fase di Debug, il timer rimane in esecuzione in maniera asincrona dal Debugger.
Per cui puoi avere comportamenti strani dell'ISR a seconda della base dei tempi.

dal momento che fai uso di piu' moduli e funzioni, cerca di dividere e conquistare.
Fai il debug di ogni funzione e aggiungine una nuova, una dopo l'altra.

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