putsUSART(indice);

8 Anni 5 Mesi fa #1 da Lello Guidi
putsUSART(indice); è stato creato da Lello Guidi

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.

  • Lello Guidi
  • Avatar di Lello Guidi
  • Platinum Member
  • Platinum Member
Di più
8 Anni 5 Mesi fa #2 da alfa75
Risposta da alfa75 al topic putsUSART(indice);

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.

  • alfa75
  • Avatar di alfa75
  • Platinum Member
  • Platinum Member
Di più
8 Anni 5 Mesi fa #3 da Lello Guidi
Risposta da Lello Guidi al topic putsUSART(indice);
Ok devo costruire un Array di "char" da spedire poi tramite usart.
A questo punto devo prima covertire l'integer in un carattere con il comando ITOA.
Ci provo.
Saluti

Lello

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

  • Lello Guidi
  • Avatar di Lello Guidi
  • Platinum Member
  • Platinum Member
Di più
8 Anni 5 Mesi fa - 8 Anni 5 Mesi fa #4 da Lello Guidi
Risposta da Lello Guidi al topic putsUSART(indice);
In merito all'ultimo consiglio di Permax1958.
Non ho nessun video collegato e ho inserito la libreria stdio.h come consigliato.
Come compilatore XC8 uso ancora la versione 1.33.
Dopo l'invio del dato l'indice rimane fermo a 0, quindi presumo che non gli arriva nessun dato.
Adesso provo il nuovo codice che mi hai scritto.
Il problema e' che indice e' un "int" e invece dovrei trasmettere un carattere.
Saluti

Lello
Ultima Modifica 8 Anni 5 Mesi fa da Lello Guidi. Motivo: aggiunto chiarimento

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

  • Lello Guidi
  • Avatar di Lello Guidi
  • Platinum Member
  • Platinum Member
Di più
8 Anni 5 Mesi fa #5 da permax1958
Risposta da permax1958 al topic putsUSART(indice);
non devi trasmettere un carattere (un byte), una variabile di tipo numerico non la puoi trasmettere così com'è ma devi trasformare ogni singola cifra del numero nel suo valore ascii (guarda la ASCII Table) quindi se un numero è composto da tre cifre devi trasmettere 3 byte, ognuno col suo valore ascii, se devi trasmettere il valore 8 non puoi trasmettere 8 perchè 8 non corrisponde a nessun carattere ascii ma devi trasmettere il suo valore ascii 0x38 o 56 in decimale.
La funzione printf() formatta il valore contenuto in indice in un array di caratteri da trasmettere per esempio se il valore numerico di indice è 132 cioè 0x84 in esadecimale oppure 0b10000100 in binario lo trasforma in un array di caratteri cioè [0x31, 0x33, 0x32] che sono i valori esadecimali dei caratteri ascii '1' '3' '2' e li trasmette.

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

  • permax1958
  • Premium Member
  • Premium Member
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