Serial Port Visual Basic

  

Arduino & Visual Studio - Serial Communication: The reason for this project is to show you, how to manage Serial connections in Visual Studio 2015 with VisualBasic as the main programming language.A few days ago, I copyed a project from VisualBasic 2010 to Visual Studio inside a VisualBasic pro. In the first section of our tutorial we will build a simple command line program that would show us how to read and write from the Serial port using Visual Basic.net.Here we are going to use the SerialPort Class provided by the dot net framework to access the port using vb.net code.

  1. Open Serial Port Visual Basic
  2. Visual Basic Serial Port Read
  3. Read Serial Port Visual Basic 2010

I use an Arduino UNO for this project.

Program it like in the picture above.

I did that in codebender.cc, but you can to that in your Arduino IDE, or any other IDE, too.

!!Be careful! Don't change the delay to any higher number than 100 Milliseconds. If you do so, you have to change the Interval for the Timer in VisualStudio, too!!

But, of course, inside your Arduino, you can type in any lower number than 100, without changing the Interval in VisualStudio.

That means: The Interval for the Timer in Visual Studio is not allowed to be lower than the delay for the Arduino. But it is allowed to be higher.


And: do never connect to any other Serial Port than to your Arduino, or completely remove or outcomment the Private Sub for the Timer. But, if you do that, you can't receive any SerialData anymore.

Because if the SerialPort-Module can't read any data from the SerialPort, the program will go into a Runtime Exception.

If it does so, just close the program and open it again, and then connect to the proper Serial Port.

Of course, if you want to, you can prevent this bug (Is it?) if you find a solution for it.

In a few days, I will create another tutorial for an advanced Serial Communication between VisualStudio and Arduino.

Active3 years, 8 months ago

I am trying to create a serial port in VB.net using code only. Because I am creating a class library I cannot use the built-in component. I have tried instantiating a new SeialPort() object, but that does not seem to be enough. I'm sure there is something simple I am missing and any help would be greatly appreciated! Thanks!

P.S. I should add that the problem I am having at this time is getting the code to handle the datareceived event. Other than that it might be working, but I can't tell because of that problem.

dsolimano
7,6923 gold badges41 silver badges57 bronze badges
Kyle GibbonsKyle Gibbons
1952 gold badges5 silver badges18 bronze badges

4 Answers

If you want to use the events make sure you declare your serialPort object using the 'withevents'. The below example will allow you to connect to a serial port, and will raise an event with the received string.

Jon B
41.4k29 gold badges120 silver badges153 bronze badges
Dilbert789Dilbert789

Open Serial Port Visual Basic

I found this article to be quite good.

The code i wrote from it is:

Sorry it's C# but...

The only issue I have with it is if the port is dropped while it's open, the app seems to fail on exit.

BCSBCS
34.4k57 gold badges167 silver badges266 bronze badges

Thank you all for your help, especially the answer about instantiating a class using the WithEvents keyword.

I found a really great article that explains how to create a manager class for the serial port. It also discusses sending Binary as well as Hex data to the serial port. It was quite helpful.

Kyle GibbonsKyle GibbonsSerial Port Visual Basic
1952 gold badges5 silver badges18 bronze badges

Visual Basic Serial Port Read

I have used the SerialPort .Net class in a past project and I worked fine. You really don't need anything else. Check the hardware setting in the control panel and make sure you instantiate the class with the same parameters.

Read Serial Port Visual Basic 2010

HapkidoHapkido
1,0911 gold badge6 silver badges13 bronze badges

Not the answer you're looking for? Browse other questions tagged vb.netvisual-studioserial-port or ask your own question.