Hello all,
It may well be that this is simpler than I think, I suspect I'm missing something basic. Is there any easy way to transfer a byte (unidirectionally) between two PICs running at different clock speeds, without using 4 I/O lines? I keep sketching things and coming up with four lines for the synchronous approach - a clock line, a data line, a request line and an acknowledge line (or some variation of the above.) I can do this fine with three lines by using the request line to clock data, but then I don't have any way to resynchronize the link if the two PICs get out of step.
Methinks I'm not being as clear as I should. Ok, how's this:
1) Host PIC requests a byte
2) Slave PIC sends a byte, waiting for each bit to be read and acknowledged somehow by the host
3) If one of the two gets out of step, they resynchronize before the next byte.
I guess I could also do this async. with only a request line and a data line, but then I have to slow things down lots to account for the different clock speeds and possible drift in clock frequencies (Slave PIC is using an internal osc, host a crystal at a different frequency.)
I'd appreciate suggestions, links, or even cries of "fool, look elsewhere!"
Thanks,
Evan Short.
--------------------------------------------------------------
Evan Short - Electronics Engineer
Ferrari Gestione Sportiva - Maranello, Italy
--------------------------------------------------------------