Comunicazione seriale in c# – prima parte

luca 25/10/2011 5

Spesso, realizzando circuiti elettronici, si ha la necessità di farli comunicare con un computer: il modo più semplice per realizzare questa comunicazione è sicuramente la porta seriale (fisica o emulata dai vari adattatori USB->seriale in commercio o direttamente integrati nelle schede di sviluppo, come per Arduino).

Questo tutorial, in più puntate, vuole illustrare come realizzare in c# dei programmi che comunichino attraverso la porta seriale con il nostro circuito.

Tutti gli oggetti che andremo ad utilizzare sono contenuti in un particolare namespace. Perché il nostro programma possa utilizzare la porta seriale, dobbiamo quindi includerlo:

using System.IO.Ports;

Normalmente, all’esecuzione del nostro programma dovremo verificare di quante porte seriali dispone il nostro computer e ottenere i loro nomi. Per questo ci viene in aiuto il metodo statico GetPortNames() dell’oggetto SerialPort. Utilizzando infatti la seguente riga di codice:

string[] serialPorts = SerialPort.GetPortNames();

l’array di stringhe serialPorts conterrà i nomi delle porte seriali disponibili.

Possiamo quindi stampare in console tali nomi semplicemente con un loop su tale array:

foreach (string serialPort in serialPorts)
    Console.WriteLine(serialPort);

Oppure, se il nostro programma ha una GUI, popolare una ComboBox:

foreach (string comPort in comPorts)
    cbSerialPort.Items.Add(comPort);
 
if(comPorts.Length > 0)
    cbSerialPort.SelectedIndex = 0;

(la terza e quarta riga servono a selezionare automaticamente la prima porta seriale, se almeno una è disponibile).

Ho preparato due programmi (uno su console, uno con GUI) per esemplificare quanto visto fin qui:


Risorse:

5 Comments »

  1. Enea 12/11/2011 at 18:49 - Reply

    Ciao,
    grazie di aver condiviso questa utile risorsa sulla comunicazione seriale.
    Ti segnalo anche
    http://it.emcelettronica.com/comunicazione-seriale-c

    estratto dalla versione inglese, con codice sogente

  2. Enea 12/11/2011 at 18:49 - Reply

    P.S. arrivo anche io da Dangerous Prototype :)

  3. luca 12/11/2011 at 18:56 - Reply

    grazie per la segnalazione!

  4. Daj 28/11/2012 at 04:48 - Reply

    this is a nice turorial.do you have tutorial in TCP port communication in Visual basic?

Leave A Response »

Questo sito usa i cookie per poterti offrire una migliore esperienza di navigazione maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi