Leggere e memorizzare dati da RS232 con Arduino Mega 2560

Avevo provato ad usare questo sketch:

void setup() {
  Serial.begin(1200);
  Serial1.begin(1200);
}

void loop() {
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte); 
  }
}

Ora riprovo collegando i pin 0 o 1 con questo sketch:

void setup() {
  Serial.begin(1200);
}

void loop() {
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial.write(inByte); 
  }
}

Però dovrebbe essere giusto 5V sul pin9 del max. Guardando lo schema, se non è collegato nulla all'8 in teoria va a 5V, no?

Usando il secondo sketch se collego il pin 12 del max232 a Rx non ho segni di vita, se lo collego a Tx mi scrive a serialmonitor quello che gli scrivo sulla barra.

Però dovrebbe essere giusto 5V sul pin9 del max. Guardando lo schema, se non è collegato nulla all'8 in teoria va a 5V, no?

Esatto. Solo che non riuscivo a capire che cosa c'entrasse una misurasul pin9.

Io non ho MEGA, ma di default non si chiamano Serial - Serial1 - Serial2 - Serial3 ?
E perche' l'hai chiamata Seriall ( che con l'eta avevo scambiato per un 1 ) se non c'e' unaprecedente assegnazione a questo nome ?

EDIT: Come non detto.. devo farmi gli occhiali

Infatti hai letto bene, l'ho chiamata Serial1 :slight_smile:
Non so se hai letto il secondo messaggio perchè abbiamo postato quasi in sincrono:

Usando il secondo sketch se collego il pin 12 del max232 a Rx non ho segni di vita, se lo collego a Tx mi scrive a serialmonitor quello che gli scrivo sulla barra.

Si, me ne ero accorto di aver letto bene e interpretato male.

A parte che non dovresti collegare il cavetto al TX, perche' qualche IC potrebbe essere permaloso.
Gli unici collegamento da fare verso Arduino sono.
GND e RX

perche' "se lo collego a Tx mi scrive a serialmonitor quello che gli scrivo sulla barra" .... boh, bella domanda, e' come se ci fosse qualche collegamento di troppo

Gli unici collegamento da fare verso Arduino sono.
GND e RX

E 5V giusto?

Si, scusa. il 5V ti serve per alimentare il MAX232

Mi sta venendo un dubbio atroce, il le tensioni le leggo tutte in continua... ma perchè la domanda di testato?
Il MAX232 me le fa uscire alternate???

Devi leggerle in Continua.
La domanda di testato riguardo quei valori assurdi era per capire se non avessi messo il tester in Vac

E' esattamente il mio circuito ma niente da fare =( nessun segno di vita! Su hyperterminal come inserisci la seriale inizia a leggere.

Ho trovato questo schema in rete, cosa ne dici? Lui tra l'altro se n'è fregato anche dei condensatori elettrolitici!

E' identico al tuo... e comunque gli elettrolitici ci sono.
Non e' che ci sono tanti modi di collegare una MAX232 ( a parte lo schema iniziale che avevi trovato )

ma la massa verso lo strumento l'hai collegata ?

Questo e' uno SNIFFER. Se ne frega dei vari segnali di controllo DTR-RTS-CTS-DSR che possono servire per un collegamento.
In pratica saldi due cavi sul connettore DB9. Colleghi il connettore sul PC, come quando usi Iperterminal.
E I segnali che transitano verso il Pc vengono riportati sull'uscita del MAX232.

Si, le masse le ho collegate tutte insieme sulla breadboard e poi vanno al GND di arduino.

E' identico al tuo... e comunque gli elettrolitici ci sono.

Ma quelli che usa lui non sono in poliestere?

no, ad occhio sembrano al tantalio.
Si veda che aveva soldi da spendere

:smiley: La rolls royce degli adattatori
Sto cercando in giro per il web se ci siano degli adattatori specifici per arduino con connettore DB9 maschio ma sembra che io sia uno dei pochi, se non l'unico ad avere questa necessità!

Gli adattatori sono tutti con la femmina. E' normale, vanno inseriti su un PC.
In genere le apparecchiature hanno il maschio a bordo

Anche oggi ho fatto la mia abbondante dose di prove ma niente da fare, ormai credo di averle tentate tutte! Ora ho anche chiesto aiuto sulla sezione internazionale del forum, vediamo se qualcuno ci da nuovi spunti su cui riflettere. Come dici tu brunello sarà una bischerata alla fine, il problema è trovarla :slight_smile:

Novità, oggi avendo fatto tutte le prove del mondo e tutti i circuiti del mondo mi sono messo a misurare cosa misurano i pin della seriale del mio pc quando lo collego ad hyperterminal e la faccio dialogare con lo strumento.

pin - tensione
1 NC
2 -10V
3 0,15V
4 0.15V
5 GND
6 10V
7 0V
8 0V
9 NC

Non è che ho sbagliato qualche collegamento tra rs232 e max232?

non sembrerebbe...
vuol dire che usa solo RX e DTR. piu' la massa

anche se forse dovresti fare un controllo migliore, visto che avevi detto che i pin 4 e 6 del connettore 9 poli sono ponticellati insieme.
Quindi non puo' essere uno a +10V e uno a 0.15V

Forse un pin lo hai letto quando leggevi e l'altro quando era chiuso Iperterminal ?

anche se forse dovresti fare un controllo migliore, visto che avevi detto che i pin 4 e 6 del connettore 9 poli sono ponticellati insieme.

Infatti, te lo confermo, poi ho riaperto il connettore per guardare che magari non avessi sbagliato a contare, ma sono effettivamente collegati insieme.
La cosa è stranissima, e ho riprovato più volte. Però riprovo ancora per sicurezza, magari sbaglio a contare e faccio confusione tra maschio e femmina.

Ho smontato ancora lo strumento e ricontrollato le connessioni:

Pentapolare -> DB9

A 3 (Tx)
B 2 (Rx)
C 5 GND
D 4-6 (DTR e DSR)
E 7-8 (RTS e CTS)

Poi ho guardato le tensioni che arrivano alla scheda dello strumento, tra l'altro da notare che la massa (pin 5 del DB9, non è collegata alla massa dello strumento. Altra cosa, il pin E della pentapolare, ovver RTS e CTS della DB9 non è connesso alla scheda dello strumento, è volante!
Sulla scheda entrano: A, B, C e D quindi Tx, Rx, GND e DTR/DSR
Strumento acceso ma non collegato via RS232:
Pin della DB9:-
4-6 0V
5 0V
3 0V
2 0V

Strumento collegato via RS232 ma non con hyperterminal:
4-6 -9V
5 riferimento
3 -9V
2 -8V
Da notare che appena lo connetto alla seriale del pc mi si connettono insieme i pin 5,3 e 2!

Strumento collegato via RS232 ma e con hyperterminal che riceve:
4-6 -9V
5 riferimento
3 --8,9 -> 9,1V scatta quando trasmette!
2 -7V a non lo so perché va fuori range, ma credo +7V o 0V. Scatta quando trasmette.
Da notare che anche qui si connettono insieme i pin 5,3 e 2!

Cosa ne dici?