Quote Originally Posted by dw_picbasic View Post
Thanks Steve,

I will check that out.
I spent some time this weekend monitoring the bit streams between my pc and the device with a scope to both confirm the bit width is ~ 17uS, which it should be for 56.7k, and also to get a look at the bit patterns of returned info.

Then I did a simple....

Main:
bo = 1
high 5
bo = 1
low 5
goto main

To see what bit width I would see from a 4Mhz clock.
And this came out to around 50uS.
Perhaps if I removed the 'bo = 1's It would speed up a little, but no where near the speed needed. In order to read 56.7
Looking in PBC.INC, it looks to me like 9600 baud is right at the timing limit with a 4Mhz clock. And since 56.7 is such a large jump, I think now a 40Meg chip slowed down to around 24Mhz might be the easiest way to do it using the built in SERIN / SEROUT commands.

Anyway, I also checked out maxim's MAX3110E SPI/rs232 chip, and requested a couple of samples. I built up a schematic for it, and when they come in, I should be right on it.
If I get this working I'll post the schematic and code.

However, the reallity of my project is that I am only sending 2 bytes to the device, and these always the same. And the device is sending 4 bites back.
I think with a little work, I can replicate the command bit stream with a 20Meg crystal. Decoding the incoming bytes will be the hard part.
After sweating over that approach, I'll be eager to play with the Max chip.
The 18F1220 already has a built-in UART that can easily be read using peeks and pokes. You don't need to 'bit-bang' serial with this PIC. At 57,600 baud, with continuous data streaming, each complete byte will arrive at about once every 173us. Just configure the onchip baud rate generator to set that up for you. With 173us per byte, that's plenty of time to check the RX port for a byte, get the byte, put it away somewhere, and do a bunch of other stuff, even at 4mhz, although you do have to use the high speed BRG in the 16 bit mode and even then you'll be about 2% high. Go to an 8mhz oscillator and you're less than 1% off the target rate.
I guess what I'm saying is that either I don't get what you're doing (and I think I get it), or you're making this WAY harder on yourself than you have to.