Are there any undue loads on the lines? What's connected to the ouput of the UART? I imagine the UARTs are connected to a common bus - what state is the other UART in - are they both trying to drive the line, is one taking too much current, etc? Do you experience the same problem in the other UART? If not, what happens when you swap them? I would suggest you look at using a dual UART instead of two seperate UARTS - it would save board space, and the trouble of trying to find a problem in one that doesn't occur in the other. You might even go for a quad UART - you can get quad UARTS that connect to SPI or another processor bus and you can eliminate the large data bus, get smaller chips, etc. http://www.google.com/search?q=dual%20uart%20IC Is one way to find some dual uarts. TI also has a line of UARTS: http://www-search.ti.com/search97cgi/s97_cgi?Action=FilterSearch&Filter=TI.filter.hts&Site=new&keywds=uart There are dozens of other places that make such chips. Alternately you take a cheap 16fxxx chip with a crystal that's divisible by the rs-232 rates you need, use the onboard UART to communicate with your processor via some synchronous method (IIC, SPI, etc), and bit bang the three uarts. Very accurate, and likely to be as inexpensive as any other dual or quad UART. You can even invert the lines, use cheap transisters and a +/- 12 supply to replace the more expensive max232 chip you might otherwise need. -Adam Michael Milner wrote: >I've been prototyping a circuit that connects two 16550 Serial UARTs to a >PIC (the PIC16F877). I know the PIC already has a UART, but I'm using that >already. I was thinking about doing some bit banging to eliminate the >external UARTs, but in my application I need the speed and accuracy of these >external UARTS. > >Ok, so now my problem. >For some reason, when I assert the Read line on the UART (to tell the uart >to put it's recieved byte onto the bus), it takes almost a full second for >the bus to arrive at the correct value. On top of that, the _RXRDY line >(which indicates when a byte is waiting to be read) does not de-assert when >I'm done reading. Unfortunately, I don't have a scope to see what's going >on, so I can't say for certain how deep this problem is. > >I've worked with the 16550 UART in this manner before and it worked fine. >Could I have melted the 16550's bus drivers or something? > >I'm using PORTD of the PIC as my data bus, and the 6 bits of PORTA for >control (yes, I have a pull-up resistor on RA4) > >If nothing obvious comes up, I can post the scematics or code. > >Thanks, > >Mike > >-- >http://www.piclist.com#nomail Going offline? Don't AutoReply us! >email listserv@mitvma.mit.edu with SET PICList DIGEST in the body > > > > > > > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu