top of page

RS485 & RS232 - Invio singolo byte

In questo esempio si inizializzano e si usano le seriali in ambiente linux in protocol mode 0 che si distingue dal mode 1 (detto anche protocol mode syel) per l'invio di singoli byte o pacchetti senza preambolo ne checksum e senza le funzioni di librieria syel.

Nello start.c vengono eseguiti due task

​

  • rs485_task

  • rs232_task Le due funzioni che si vanno ad eseguire lanciando questi task sono presenti nel file common.h del progetto. Le prime linee di codice sono per l'inizializzazione e apertura della porta alle quali segue un ciclo infinito nel quale si resta in ascolto di eventuali byte in arrivo

Nella ricezione del pacchetto si nota come la funzione resti in idle finchè non arriva niente, mentre scarrella byte con la com_rx() finche qualcosa è presente sul buffer incrementando cosi un contatore. Per la 485 è tutto analogo eccetto per la com che è ovviamente diversa.

​

Per inviare il singolo byte si usa la funzione com_tx

Nota: com_tx e com_rx sono funzioni dell'ambiente di sviluppo proteus spiegate nel manuale a pagina 34 sezione Porte Seriali.

​

Per quanto riguarda l'interfaccia dell esempio è molto banale e permette di selezionare un carattere e inviarlo tramite 232 o 485 incrementando i relativi contatori così come anche anche in ricezione.

​

L'esempio è stato testato su due dispositivi syel p10 collegati tra loro in RS232 e RS485 ed liberamente scaricabile dal seguente link: scarica

​

2025-02-07 Creatore dell'articolo Simone De Santis. Per ulteriori richieste simone.desantis@syel.it

banda 1_#rect222.png

SYEL SRL Industrial Automation Electronic Systems

PI/CF 01140840503     Via Liguria, 1     56030 Pontedera Gello (PI), Italy

Phone: ++39 0587 294096      e-mail: syel@syel.it     PEC: syel@pec.it

unique recipient code 5RUO82D

banda 2_#rect222.png
bottom of page