Invio segnale di Break

Salve a tutti,
come faccio a inviare un segnale di break sulla linea seriale, utilizzo un Arduino MEGA.

Grazie.

Sono ancora abbastanza inesperto, ma per quanto ne so non esiste un comando con cui bloccare arduino, o meglio, il loop del programma.
Puoi farlo aggiungendo qualche istruzione, ovvero leggendo in continuazione i dati dalla seriale (nel caso siano presenti....Serial.available() > 0 ) e bloccando quindi il ripetersi del programma con un while infinito

void loop()
{  
   if ( Serial.available() > 0 )
    
      do {  int a = Serial.read(); }
          while ( a == 5);
 //...
//resto del codice

  }

In questo modo, se c'è qualcosa da leggere questo viene letto, e se corrisponde (in questo caso) a 5 interrompe l'esecuzione del programma...o meglio, lo intrappola nel while, impedendogli praticamente di proseguire, almeno finchè non si inserisca un valore differente da 5.

Spiega cosa intendi per "segnale di break".
Ciao Uwe

Scusate, non mi sono spigato bene.
dare un segnale di break sulla linea seriale significa mandare a livello basso la seriale per un tempo maggiore a quello di un carattere,
perciò deve durare il bit di start (che già di suo è 0) gli otto bit di dati e il bit di stop (che vale 1).

Grazie.

Non esiste tale funzionalitá sulla seriale. Quando non viene spedito nessun valore il segnale sull RX/TX é LOW.
Non capisco la necessitá della Tua richiesta.
Ciao Uwe

No, non è vero che non esiste, forse Arduino non la implementa, giusto per dire sotto windows esiste l'API SetCommBreak e ClearCommBreak sotto linux la funzione tcsendbreak.
La seriale nello stato di idle è a 1 per iniziare la trasmissione o ricezione c'è il bit di start che è a 0, poi ci sono i 5,6,7,8 bit di dati, poi eventuale parità ed infine 1 o2 bit di stop sempre a 1.
Ho già implementato tale funzione a manovella su un Cubloc della Comfile, siccome voglio migrare su Arduino mi domandavo se esisteva tale funzione visto che dispone di un compilatore molto evoluto (forse la domanda è se l'AT1280 o AT2560 hanno tale funzione).

Grazie.

è un comando che deve essere gestito dal bootloader di arduino. Non credo sia stato implementato, ma i sorgenti sono disponibili nell'IDE, volendo li puoi modificare come vuoi.
Ma qual'è l'uso di questo break? se resetta tutto, allorac'è un segnale apposito che l'IDE infatti usa per uppare gli scketch...

ciao b2antonino
Ripeto a mia domanda: cosa hai bisogno di fare?
Ciao Uwe

Ciao,
devo pilotare l’interfaccia 1-wire<->seriale DS9097 della maxim ed ha bisogno di un segnale di break per sincronizzarsi e senza di quello non parte.

Non puoi usare l’ interfaccia 1-wire di Arduino con la libreria senza interfaccia?
http://www.arduino.cc/playground/Learning/OneWire
Una possibilitá é modificare la libreria per l’interfaccia seriale via software alle Tue necessitá.
http://arduino.cc/en/Reference/SoftwareSerial
http://sundial.org/arduino/index.php/newsoftserial/

Ciao Uwe