Pages: [1]   Go Down
Author Topic: Serial.flush() cambiato  (Read 525 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 2
Posts: 98
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti!

come ho scritto nel titolo, mi sono accorto oggi mentre stavo programmando che hanno cambiato il serial.flush() dalla versione 1.0 dell'ide di arduino.
oltre a scaricare il vecchio ide qualcuno ha qualche idea su come io faccia ad utilizzare il "vecchio" serial.flush() (quello che cancellava il buffer per capirci)
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 328
Posts: 22762
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Fai una piccola routine per svuotare i buffer:

Code:
while (Serial.available()) {
  byte a=Serial.read();
}

così lo svuoti (perdendo ovviamente i dati)
Logged


Offline Offline
Jr. Member
**
Karma: 2
Posts: 98
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mi sa che mi toccherà fare così...ci avevo pensato ma volevo fare una cosa un pò più pulita.
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 328
Posts: 22762
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

mi sa che mi toccherà fare così...ci avevo pensato ma volevo fare una cosa un pò più pulita.
L'alternativa è modificare le librerie del core per inserire la funzione suddetta in modo che sia nativamente disponibile nei tuoi sketch senza doverla inserire tutte le volte. Però ricordati che così non puoi più distribuire i tuoi programmi senza dare anche il pacchetto di librerie modificate.
Logged


Offline Offline
Jr. Member
**
Karma: 2
Posts: 98
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nono certo...
comunque non mi conviene per lo scopo che deve avere...magari faccio faccio una funzione così il codice è pulito lo stesso...


ps. sbirciando ora sulla reference ho visto che il flush della classe stream è ancora quello "vecchio" però è anche vero che la classe stream non si può accedere direttamente, chissà se in qualche modo si può usare...l'ho scritto giusto per stuzzicare la curiosità dei più esperti, io nella mio piccolo utilizzerò la soluzione di leo72...
Logged

Italy
Offline Offline
Full Member
***
Karma: 6
Posts: 102
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se può servire io il buffer lo svuoto così:

Code:
boolean emptySerialBuffer(){
  while( Serial1.read() != -1 );
  Serial.println("INFO - Serial buffer is empty");
  return true;
}
Logged

"The question is not whether intelligent machines can have emotions, but whether machines can be intelligent without any emotions"

Pages: [1]   Go Up
Jump to: