If: 1 start + 7 data + 2 stop are expected, and I send: 1 start + 8 data + 1 stop Then as long as the MSBit of all the bytes I send is 1, the receiver will treat the MSB as another start bit and all will be well. Bob Ammerman RAm Systems ----- Original Message ----- From: "Jeff Weinberg W8CQ" To: Sent: Wednesday, May 21, 2003 9:27 AM Subject: Re: Serial Communication Question > Hi Ned et. al., > Thanks for all of the responses. > > The unit that requires 2 stop nits is an older ham radio that uses a > cryptic programming code for remote operation. I have tried it with only > one stop bit and it will not function. It is fairly old and is pretty fussy > about it. > > Briefly, the command structure sent to the radio is only a block of five > bytes long. Each byte consists of 1 start bit, 7 data bits and 2 stop bits. > The microcontroller I am using to control it send data to the radio at a > fixed 4800, 8, N, 1 and the radio must have it in 4800, 8, N, 1. > > That is a synopsis of the problem. I am no computer guru, so I am kind of > lost on this communication and bit-banging. If anyone has suggestions on > how to convert that data, I am willing to try it. BTW, the communication is > only one-way to the radio. > > Regards, > Jeff Weinberg > --------------------------------------------------------- > > ----- Original Message ----- > From: "Ned Konz" > To: > Sent: Wednesday, May 21, 2003 12:26 AM > Subject: Re: Serial Communication Question > > > > On Tuesday 20 May 2003 09:01 pm, Jeff Weinberg W8CQ wrote: > > > > > Is there a PIC with dual UARTS that will allow me to input serial > > > data into the PIC at 4800, 8, N, 1 and out put the same serial data > > > in a 4800, 8, N, 2 format? > > > > Not in general. What you're asking for is merely to add a one stop bit > > delay between each character (that is, the stop bit is getting > > stretched). If the sending end is *really* CONSTANTLY sending bytes > > back-to-back with only one stop bit in between, then you'll > > eventually run out of RAM to buffer the bytes into. The RAM will fill > > up at a rate of about 1/10 of the input rate. > > > > If your sending end is sending bursts of characters that are shorter > > than 10x the available RAM, then you can do it, as long as the bursts > > are separated by enough time to empty the buffer. > > > > Luckily, you'd only have to do this in one direction (you can always > > send 4800/N/2 at something expecting 4800/N/1, of course). > > > > At that speed you don't even need UARTs; you can bit-bang it. > > > > But what's wrong with the receiving end that it requires 2 stop bits? > > Is it *that* slow processing characters (you should be able to > > process a character in 1/4800 of a second!)? > > > > -- > > Ned Konz > > http://bike-nomad.com > > GPG key ID: BEEA7EFE > > > > -- > > http://www.piclist.com hint: To leave the PICList > > mailto:piclist-unsubscribe-request@mitvma.mit.edu > > > > -- > http://www.piclist.com hint: To leave the PICList > mailto:piclist-unsubscribe-request@mitvma.mit.edu > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu