Serial ports provide an easy way to communicate between many types of hardware and your computer. They are relatively simple to use and are very common among peripherals and especially DIY projects. Many platforms such as Arduino have built in serial communication so they are really easy to set up and use. Many times you may want your project to communicate with your computer in order to have a cool interactive output, a neat sensor that passes data to your computer, or anything else you could possibly dream up. In this tutorial, I will walk you through how to interface to a serial port on the computer side of things, using Microsoft's . net framework. The code examples in this tutorial are in C#, but can be easily transferred to Visual Basic, or Visual C++. This tutorial assumes that you have a very basic understanding of object oriented programing, and whatever language you choose to program in.
Since we are mainly going to be using the System.IO.Ports.SerialPort class, HERE is a link to the full documentation by MSDN if you want to check out the rest of the class.
I also found a great article explaining how to fix several common bugs relating to serial ports. Check it out if you get stuck with any odd errors.
Feel free to post questions or feedback! I am always happy to hear constructive comments so I can make improvements.
Serial-port-vb.doc 1 2/1/2010 Serial Port Using Visual Basic.NET and Windows Introduction The serial (COM) port is one of the simplest ways to communicate between a PC and a. Terminal program, set to use the COM port that connects to the adapter cable. Set the baud rate.
-->Windows Serial Port Programming Example
This topic describes how to use My.Computer.Ports
to receive strings from the computer's serial ports in Visual Basic.
To receive strings from the serial port
Initialize the return string.
Determine which serial port should provide the strings. This example assumes it is
COM1
.Use the
My.Computer.Ports.OpenSerialPort
method to obtain a reference to the port. For more information, see OpenSerialPort.The
Try...Catch...Finally
block allows the application to close the serial port even if it generates an exception. All code that manipulates the serial port should appear within this block.Create a
Do
loop for reading lines of text until no more lines are available.Use the ReadLine() method to read the next available line of text from the serial port.
Use an
If
statement to determine if the ReadLine() method returnsNothing
(which means no more text is available). If it does returnNothing
, exit theDo
loop.Add an
Else
block to theIf
statement to handle the case if the string is actually read. The block appends the string from the serial port to the return string.Return the string.
Example
Windows Serial Port Programming
This code example is also available as an IntelliSense code snippet. In the code snippet picker, it is located in Connectivity and Networking. For more information, see Code Snippets.
Compiling the Code
This example assumes the computer is using COM1
.

Robust Programming

This example assumes the computer is using COM1
. For more flexibility, the code should allow the user to select the desired serial port from a list of available ports. For more information, see How to: Show Available Serial Ports.
This example uses a Try...Catch...Finally
block to make sure that the application closes the port and to catch any timeout exceptions. For more information, see Try...Catch...Finally Statement.