Go Down

Topic: arduino e visual studio (Read 862 times) previous topic - next topic

zoomx

#45
May 06, 2019, 02:36 pm Last Edit: May 06, 2019, 02:37 pm by zoomx
Confermato!
Con Arduino mando 10 caratteri + CR e LF
In VB ne ricevo 11 e l'ultimo è proprio il CR.
Il programma in VB si limita ad aprire la porta e a settare i parametri baud e 8N1 senza cambiare altro. L'Handshake è già su none.
Framework 4.7.1

docdoc,
avevi ragione tu!!!!

Curiosamente non ho trovato nessuna issue né post nè altro a riguardo.

docdoc

In ogni caso, visto che esiste, andrebbe sempre valorizzato a quello che serve, a prescindere dal suo valore di default
Si, credo che basti mettere all'inizio del proprio codice, dopo aver creato una variabile di classe SerialPort una cosa del tipo:

Code: [Select]
mySerial.NewLine = Environment.NewLine;
Così si evita qualsiasi problema.

Ma non mi è mai capitato perché io sono fissato, per me i protocolli di comunicazione tra programmi vanno progettati "per le macchine" non "per gli umani"... ;)

Confermato! docdoc, avevi ragione tu!!!!
Grazie! ;)  :D
Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito, clicca su "add" qui a sinistra, vicino al mio nome ;) **

zoomx

Ho aperto un issue sulla documentazione qui
https://github.com/dotnet/dotnet-api-docs.it-it/issues/2
ci sono arrivato proprio dalla pagina della documentazione.
Ma vedo che in totale ci sono solo 2 issue, il mio e un altro che è stato chiuso. Vedremo come finisce.

L'ho aperta in inglese ma vedo che avrei potuta aprirla anche in italiano. Ma il problema riguarda tutte le lingue.

Sui protocolli. Dipende. Nel mio caso uso roba leggibile perché ho aggiunto la possibilità di interagire da parte di umani tramite un terminale, un po' come i comandi AT per modem e ESP8266.
Ma quando l'interazione umana è esclusa allora vado di singoli caratteri o direttamente valori binari.

docdoc

Sui protocolli. Dipende. Nel mio caso uso roba leggibile perché ho aggiunto la possibilità di interagire da parte di umani tramite un terminale, un po' come i comandi AT per modem e ESP8266.
Si ti capisco, ovviamente non conosco il contesto delle tua implementazioni quindi può darsi. Ma anche se fosse, basta usare caratteri "leggibili", nell'esempio dell'OP se mando "0" invece di "spento\r\n" e "1" invece di "acceso\r\n" è sufficientemente comprensibile anche da un umano credo... ;)

Poi ci sono anche altri casi in cui questa cosa si può fare (per dire, negli anni '90 realizzai un antispam che divenne anche abbastanza famoso, Spam Terminator, nel quale implementai un server SMTP ed un client POP3, protocolli che dialogano comunque con linee di testo, quindi "da umano") ma dipende dallo scopo del progetto e soprattutto dall'abilità del progettista e del programmatore. Se uno non ha mai avuto a che fare con protocolli e per di più ha scarsa pratica con il linguaggio e l'ambiente, direi che meglio mandare "0" o "1" senza auto-complicarsi la vita.. ;)

Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito, clicca su "add" qui a sinistra, vicino al mio nome ;) **

zoomx

#49
May 07, 2019, 09:28 am Last Edit: May 07, 2019, 09:38 am by zoomx
Risposta immediata!
Quote
You are correct, @zoomx, that the value of the NewLine property is "\n" or vbLF. We'll update the documentation accordingly; see #2413.
La documentazione verrà corretta.Non so quale documentazione in quanto c'è anche questo
Quote
Hi team,
I'm moving this here since the user is reporting an error in the original documentation
best
cioè qui

https://github.com/dotnet/dotnet-api-docs/issues/2412
dove le issue sono nettamente più numerose.

Edit:
Ora ho capito. Il link che avevo seguito partiva dalla documentazione in italiano (nonostante avessi attivato l'interruttore per averla in inglese) e poi la issue è stata spostata in quella inglese.

Federico66

beh, è quasi da ridere :),
seguo un forum su Arduino e C, e becchiamo un bug nella documentazione del Framework Net  ::)  ::)

zoomx

Ho il sospetto che questo bug fosse presente da almeno un decennio, forse di più.
Sul repo GitHub della versione inglese ci sono centinaia di issue aperte (o aperti?).

Go Up