C# SerialPort e println nel setup()

Salve,
ho un problema: sia nel setup() che nel loop() ho dei Serial.println() ( ovviamente ho fatto il begin prima di tutto) ma quando istanzio l'oggetto serialport in c#

serialPort1 = new SerialPort();
serialPort1.PortName = "COM1"
serialPort1.BaudRate = 9600;
serialPort1.DataReceived += serialPort1_DataReceived;
serialPort1.Open();

mi printa solamente cosa ho nel loop() mentre usando programmi tipo putty vedo anche cosa printa nel setup()... come mai?

Con quel pezzo brutale ? Senza metterlo in una funzione ad evento che attende sulla seriale ?

Hai messo una pausa nel setup?
Non è che invii i dati prima che lato PC sia pronto a riceverli?

Forse lo sketch completo potrebbe essere utile. Magari appena ho tempo provo, tutto ciò che è comunicazione seriale mi intriga.

Non conosco bene il C# ma da quel pezzo prima leggi e poi apri la porta.
Comunque di solito hai un pezzo di codice che stà in attesa sulla porta, di solito una funzione ad evento.

Che è quello che fa un programma tipo Putty, ha un loop infinito o una routine ad evento che attende e monitora la seriale

Risolto: in pratica non avevo settato il valore DtrEnable = true; da codice C# e quindi l'arduino non si resettava e quindi i print del setup non li avrei mai potuti vedere perchè oramai erano passati.

Ma il tuo codice quindi non è solo quelle poche righe che hai postato ?!?

nel mio codice sopra mancava solo l'implementazione della funzione serialPort1_DataReceived; che viene chiamata ogni volta che sulla seriale arrivano dei dati.. i print da arduino ( quindi andava bene dichiararla prima dell'open della seriale )

napalm_it:
nel mio codice sopra mancava solo l'implementazione della funzione serialPort1_DataReceived; che viene chiamata ogni volta che sulla seriale arrivano dei dati.. i print da arduino ( quindi andava bene dichiararla prima dell'open della seriale )

Azzo. Chiamalo "solo", è la parte fondamentale. Quella che effettivamente legge :grin: