Tachimetro e RPM

  • bgvsan
  • Autore della discussione
  • Anziano Utente
  • Anziano Utente
Di più
12 Anni 2 Mesi fa #16 da bgvsan
Risposta da bgvsan al topic Tachimetro e RPM
Mi sono accorto che l'invio del singolo carattere funziona, il problema sta sull'invio della stringa (i char vengono inviati cosi : 'a')

la funzione della stringa è questa
Code:
void glcd_write_string(unsigned char col, unsigned char row, char* stringa) { switch(row) {case 0: col |= 0x80; break; case 1: col |= 0x90; break; case 2: col |= 0x88; break; case 3: col |= 0x98; default: col |= 0x80; break; } lcd_scrivi_comando(col); delay_ms(100); while(*stringa) lcd_scrivi_data(*stringa++); }

purtroppo non ho il debug per vedere cosa succede.. ma il ciclo while fa solo 1 iterazione.

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

  • bgvsan
  • Autore della discussione
  • Anziano Utente
  • Anziano Utente
Di più
12 Anni 2 Mesi fa #17 da bgvsan
Risposta da bgvsan al topic Tachimetro e RPM
Ok diciamo che ho risolto..

facendo unsigned char i[] = "Hello World";

glcd_write_string(0,0,i);

viene scritta correttamente... sarebbe possibile evitare di dover allocare una variabile per scrivere?

Ovvero poter scrivere:
glcd_write_string(0,0,"Hello World");

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

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
12 Anni 2 Mesi fa #18 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Tachimetro e RPM
Ciao,

fai riferimento alla librerie GLCD che ho scritto (verisone 2.5, la versione 3.0 cambia leggermente con il supporto di XC8).
Vesdrai che ho creato due funzioni write_message_GLCD e write_string_GLCD.

Quando dichiari una variabile hai una variabile in RAM e la stringa e' caricata dalla RAM.
Quando scrivi :
Code:
glcd_write_string(0,0,"Hello World");

Hello World viene considerata una stringa costante caricata in flash per cui il codice richiesto per leggere i caratteri e' diverso e devi dichiarare il paramento in ingresso alla funzione come rom (per il C18).

Saluti,

Mauro

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

Moderatori: Mauro Laurenti

Registrati al sito

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

Registrati al sito LaurTec.

Forum - Ultimi messaggi