www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2007/07/19/02:47:24

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
NNTP-Posting-Date: Thu, 19 Jul 2007 01:35:36 -0500
From: "Alexei A. Frounze" <alexfru AT chat DOT ru>
Newsgroups: comp.os.msdos.djgpp
References: <f7lfo2$bql$1 AT atlantis DOT news DOT tpi DOT pl>
Subject: Re: RS232 transmission sometimes fail on AM2
Date: Wed, 18 Jul 2007 23:33:06 -0700
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3138
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
Message-ID: <nIGdnfixh_KlmwLbnZ2dnUVZ_t63nZ2d@comcast.com>
Lines: 61
X-Usenet-Provider: http://www.giganews.com
NNTP-Posting-Host: 67.170.73.174
X-Trace: sv3-4idLeFpViXZU5kzCOTJdsuc89CpQr9+OWgyPyAoAnMj2Kn/YtqxKdKL2DThHmy+/K9dyomqQzgJj3IH!qFVcilrdl67QfQpds2KaGUmmiB0MT+ielHpk1yUuLrUP3AGFj+4ie6RBVJ0ytqsLk5DJ1CHqbsYK!ix/eOAtAlnJPrabO67qh6qvccHer7Q==
X-Complaints-To: abuse AT comcast DOT net
X-DMCA-Complaints-To: dmca AT comcast DOT net
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.35
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Robbo wrote:
> Hello,
>
> I wrote some program on PC which controlls
> an industrial machine. There is also electronic
> device (with microcontroller Atmel AVR)
> connected with RS232 to the PC.
> I found that there are sometimes problems
> with serial transmission, since I have moved to
> 64bit processors (AM2 Sempron).
> Not so frequently, the electronic device doesn't
> catch command sent by the PC and vice versa
> - the PC doesn't catch command sent by
> the electronic device to it.
> I use delay() function in my program.

What for? Can it be that while the CPU is executing it, too many bytes 
arrive and start getting lost?

> I use Free DOS.

I have no idea about anything specific to any sort of DOS. However, serial 
communication in DOS apps *running under Windows* is known to be unreliable. 
Because of that many years ago I had to change the protocol to account for 
lost or corrupt data packets.

> Is there any known problem with programs
> written in DJGPP on 64bit processors?

I doubt that.

> Does delay() function work correctly on
> such processors (unfortunatelly I can't
> check it now)?

If you've got an oscilloscope, you could execute this sort of code:
1. disable all interrupts
2. call delay()
3. output 1 to say parallel port or speaker pin or some RS232 control pin 
(RTS/CTS/whatever)
4. call delay()
5. output 0 to the same port as in step 3
6. go to 2

If on the oscilloscope you see correct timings of the pulses on that port, 
you're good not only in delay(), but also with respect to SMIs.

> One more thing: I installed special 2xRS232+1xLPT
> expansion card in the PC and connected the electronic
> device with RS232 to it. I found that problems with
> loosing sent commands are more frequently than
> when I connected RS232 cable directly to a main board.

Btw, do you use BIOS to do the serial I/O or something else? The reason for 
the question is that BIOS serial I/O is rather limited and might even be 
buggy and I don't remember any decent terminal application using it. At the 
same time, if it's all your code, not the BIOS'es, there might be some bug 
just as well.

Alex

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019