From: cclist at
sydex.com
Date: Sun, 27 Apr 2008 08:23:09 -0700
From: dwight elvey
I'm going to assume that you have an 8251A, not an 8251. If the
latter, either sell it to a collector or have it bronzed and made
into a tieclasp. There are substantial differences between the -A
and non-A parts, all annoying.
Hi Chuck
The chip is a NEC 8251C.
Glancing at your code, I'm a bit puzzled by the final initialization
byte of 0x10. Why isn't this, say, 0x37? Why would you disable the
receiver? 8251A commands are bit-inclusive; that is, ALL bits in the
command register are interpreted independently of one another. Thus,
0x10 sent to the command register doesn't just reset the error flags,
it also disables the transmitter and receiver and drops DTR and RTS.
I'd originally done a 37 but looking at some example code,
I thought I'd try separating out that bit. No change in results.
The data sheet seems to indicate that the flags will not effect
or stop operation.
The implication is that since the command register's write-only, you
have to remember the last command you sent if you want to reset the
error flag. One of the minor annoyances of a few early Intel
peripherals.
Anent that last one--make certain that your handshake lines
(RTS/CTS/DTR) are set to the proper levels--an inactive CTS will
prevent the 8251A from transmitting.
At least at the port, there is no change. There could be something
at the chip. Since I've not even gotten to the sending serial, yet, CTS
isn't yet an issue.
Hope this helps,
Chuck
_________________________________________________________________
In a rush? Get real-time answers with Windows Live Messenger.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refres…