Unsurprising since you are trying to write to the port then immediately exiting from the subroutine, and possibly even the program. Put all your writing code inside the try block and check all the information that you get if an exception occurs.
One of these days I'm going to think of a really clever signature.
After a little reading of the .NET Framework documentation for the SerialPort Class, it looks like all you need to do is add the following line of code after your last MySerialPort.WriteLine and before the End Sub so that the transmit buffer is emptied before your program exits the Sub CommPortSetup procedure. See the underlined and bolded area in the information below.
According to the .NET Framework documentation: SerialPort.Close Method Remarks
Calling this method closes the SerialPort object and clears both the receive and transmit buffers. This method calls the Component.Dispose method, which invokes the protected SerialPort.Dispose(Boolean) method with thedisposing parameter set to true.
The best practice for any application is to wait for some amount of time after calling the Close method before attempting to call the Open method, as the port may not be closed instantly.
Last Visit: 31-Dec-99 18:00 Last Update: 26-Oct-16 5:18