serlcd

ciao a tutti
ho un problema con il serlcd è un convertitore seriale per display
come se si incantasse
il cavo seriale da arduino al serlcd è di circa 40cm

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
Serial1.begin(9600);
// inizializza display
Serial1.write(0x7C);
Serial1.write(0x08);
// imposta display
Serial1.write(0x7C);
Serial1.write(0x05);
delay(100);
Serial1.write(0x7C);
Serial1.write(0x03);
delay(100);
// accende display
Serial1.write(0x7C);
Serial1.write(0x01);
delay(100);
}

void loop() {
  // put your main code here, to run repeatedly:
// imposta posizione cursore
Serial1.write(0xFE);
Serial1.write(128);
delay(100);
Serial1.print("Provaxxx");
}

>mikibenx: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Guglielmo

Ma hai letto ciò che ho scritto ? ? ? :o :o :o

DEVI EDITARE il tuo primo post, NON aggiungerne uno e lasciare il primo così !!!

Guglielmo

ho sbagliato a pigiare ora correggo

mikibenx:
ho sbagliato a pigiare ora correggo

Perfetto, grazie :slight_smile:

Guglielmo

forse ho capito dove sbaglio
come si fa a scrivere un array di due byte in una volta sola con Serial.write?
grazie

... basta guardare il reference :smiling_imp:

Esiste la forma "Serial.write(buf, len)" a cui passi un puntatore e la lunghezza. Dato che il nome di un array è di per se un puntatore basta mettere il nome dell'array e quanti bytes trasmettere.

Guglielmo

niente da fare non funziona
sembra bloccato

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Serial1.begin(9600);
// inizializza display
byte buf1[] = {0x7C, 0x08};
Serial1.write(buf1, sizeof(buf1));
// imposta display
byte buf2[] = {0x7C, 0x05};
Serial1.write(buf2, sizeof(buf2)); 
delay(100);
byte buf3[] = {0x7C, 0x03};
Serial1.write(buf3, sizeof(buf3)); 
delay(100);
// accende display
byte buf4[] = {0x7C, 0x01};
Serial1.write(buf4, sizeof(buf4));
 
delay(100);
}

void loop() {
  // put your main code here, to run repeatedly:
// imposta posizione cursore
byte buf5[] = {0xFE, 128};
Serial1.write(buf5, sizeof(buf5));
 
delay(100);
Serial1.println("prova");
}

quanto può essere lungo il cavo da arduino a serlcd?
questo è serlcd