Arduino not sending usb serial data

hey all,

i'm trying to establish communicate between arduino's and PC trough usb using arduino yun / arduino pro micro and .NET language (vb or c#). sending data is no problem.

when using the Serial monitor of the arduino IDE (1.0.5/1.5.4) the TX led lights up when ever the Serial.Println is called.
when i open a com port in a vb.net program the TX led doesn't light up and i don't receive any data on COM port.

do i have to send any start characters before the arduino will send data? is this a known problem with these specific arduinos?

the most simple version of what program i'm using (found on youtube) is a console application with following code:

Module Module1
Private WithEvents objSerial As New System.IO.Ports.SerialPort("COM2")

Sub Main()
objSerial.BaudRate = 9600
objSerial.Open()
Console.ReadKey()
objSerial.Close()
End Sub

Private Sub objSerial_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles objSerial.DataReceived
Console.Write(objSerial.ReadExisting)
End Sub

End Module

could someone help me. I'm getting a little bit depressed. :stuck_out_tongue:

managed to find the problem. when configuring the Serialport you have to enable RTS. when opening a port RTS signal lets the client know the master is ready to receive.

hope this helps to anyone that had the same problem.

jensdewispelaere:
when configuring the Serialport you have to enable RTS. when opening a port RTS signal lets the client know the master is ready to receive.

I have been searching for the answer to this question for days. Thank you so much for finding and posting the solution. There are an incredible amount of threads in this forum with people having the same problem (whether or not they realized it)... this information should seriously be put into the Serial reference guide.

Micro, needs an "Activation".

Needs a "Handshake", so..
The functional code is

Private WithEvents objSerial As New System.IO.Ports.SerialPort("COM3")

Sub Main()
objSerial.BaudRate = 9600
objSerial.Handshake = IO.Ports.Handshake.RequestToSend
objSerial.ReadTimeout = 500 'Just in case arduino has a ---->delay(500) The value of this instruction depends on the delay of the void loop()
objSerial.Open()
Console.ReadKey()
objSerial.Close()

End Sub

Private Sub objSerial_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles objSerial.DataReceived
Console.Write(objSerial.ReadExisting)
End Sub
End Module