When I run a Windows Forms App on a particular computer a huge delay develops in firing the serialPort_DataReceived() event in my code which I don't see when I run the app on another machine. I know that the data is going into the UART because I have snooped
on it, but the serialPort_DataReceived() event handler delays firing for up to 20 seconds after the data goes in the port. No data is ever lost, it just gets way behind in firing this event handler. The really strange thing is that if I put the snooper on
the serial port to watch the data going into the computer it loads the line a little and draws the peak voltage down from 16.3 V to 15.3 V on the RS232 transmission line going into the computer and the event handler starts firing without delays. This doesn't
seem like just a hardware problem because the buffer on a UART is quite small and I never loose any data. I am sending data continuously at 57600 baud at a rate of about a dozen characters per second. In order for this to have a delay of up to 20 seconds before
the event handler fires in my C# code it must be getting buffered in Serial Port Object, right? If it gets that far, why isn't the event handler firing on this computer? And why does he same code work fine on another machine?
View Complete Post