Edenyard wrote:
>I suspect that your comms over-run errors are due
>to the processor not getting to the UART receive register often enough
>to collect a character before the modem delivers the next character.
>If the UART tries to store a received character in its
>received-character register and it notices that the last character that
>flag, so that you know that characters are going missing. This is
>it put there hasn't yet been collected, it will set the over-run error
>probably a worse problem in 'doze, where the processor spends much more
>time doing 'other' things.
That's a good observation. Some time ago, I had to write some Modbus
protocol communication routines for a data aquisition system. The DAS
and the PC were connected through RS 232 at 9600 baud. I wrote a 16-bit
Windows application using the good old Borland C++ 3.1 and OWL (there wasn't
too much job to do with that data; only to collect it and perform a few
calculations).
To my suprise, every 5-th packet or so was badly received, so I had to
take further precautions. I did not use anything else but Windows API to
program the RS-232. I wish I did the job in DOS!
You should see how odd the Visual Basic MS-COMM object performs sometimes
(especially when it comes to convice it to do a particular type of
hardware handshaking, necessary for interfacing with RS485).
In the meantime I managed to subscribe to Arachne list using my ney
email address and somehow to set up Trumpet Winsock to work (I had to
use PAP/CHAP and this is kind of funny, because I think I don't use this when
connecting with Arachne).
Oh, and there are some pleasant side-effects about changing my job.
- A better wage (salary).
- My chief has become my former chief.
and an unpleasant side-effect. I have to get up earlier in the morning, because
the new office is far from home!
Cristian Burneci
-- Arachne V1.66, NON-COMMERCIAL copy, http://arachne.cz/