I've written an app in C# in the compact framework. I've got a serial connection with a device running embedded C. We are using no flow control. That's not optional at this point. We are talking at 19200 baud, 8 bits, no parity, one stop bit. I can't get stable communication into my side.
Symptoms: If we put interrupts in the embedded C (also not an option), I get my data just fine. However, without the interrupts, I only get the first byte.
I have a tester that sends the data as I key it in, and I receive all of the data. However, if I user Hyper Terminal, sending all of the data from a file, I only get one byte. Here's the strange thing: If I close my form and reopen it, while continuing to send data via Hyper Terminal each time I open it, I move up a character in the line of data each time. My form is called from a main form, which I don't close each time; but I initialize my buffer from the constructor of the form. I also call dispose each time I close the form.
Questions:
1. It seems that my event handler is just not fast enough to recover and get the next byte. Is there anything that I can do to speed things up?
2. Is there a way to access the hardware buffer where the data is being stored during the transfer?
Thanks in advance for any insights.
--
Message posted via http://www.dotnetmonster.com