NETMF 2016 R1 ( COM2 (RTS & CTS) .Handshake.RequestToSend

Com2 handshaking appears not to “yet” work?
I see in some places in the forum where there was a problem with handshaking and in other parts of the forum where it has been fixed.

I am noticing when transferring larger (2k +) byte[] buffers that the data gets screwed up. I don’t believe I saw this same problem with an earlier release.

Can anybody confirm that the com2 serial port on the g120 should handshake correctly, i.e.
…setting .Handshake = System.IO.Ports.Handshake.RequestToSend will control data flow over this serial port.

@ mhardy -

If I remember correctly on G120 just had a problem with enable handshaking, because reserved pins. And this was fixed. Once you can enable this feature successfully then it should work.

Handshaking requires both host and client support it. Check your other side to see.

COM2 is working with my FEZ Cobra III.

I have enabled handshaking. But if I name signal (reserved it) for example that I could see
it changing state 0<->1<->0, then I get an error.

So unless this bug (?) like, Dat mentioned, is fixed, do not reserve signal to other use.
Operating system can take care of using correct pins when you define open(COM2…).Use handshaking … at code …


@ Dat - Is this how you enable it or is there a different way? Code gets stuck when I call _serialPort.Flush() after a _serialPort.Write()…


Can anyone confirm that COM2 Handshaking is enabled by setting the Handshake = Handshake.RequestToSend only? Is there another way?

@ munderhill -

I just ran quick test with your way it just works fine.

Can you please tell us status of the pin CTS (P0.17) ?

@ Dat - Looks like is going high. I have the RTS of the WiFi module connected to the CTS of G120 and the CTS of the WiFi module connected to the RTS of the G120 (null modem style). Is that correct? It has worked for me in the past…

@ munderhill -

Pin P0.17 is high so G120 think your Wifi is not ready to receive data, so it pause until this pin is low, check your wifi module to see why it drives this pin to high.

Once handshaking is enable, G120 only send data when this pin low.

@ Dat - I may have misinterpreted the timing on the CTS line. It is low MOST of time and goes high, probably during startup of the WiFi module as it send the boot event. The only question is how low is low. I know the line is NOT @ 0v when it is low. What is the highest voltage that can represent a “low” value on the G120?