Hello Evan I think in a possible solution whit 2 lines (1: clock signal and 2:data signal) in the line of data the host PIC send a bit of request, the slave PIC is waiting for request of byte (pin host PIC as output and pin of slave PIC as input), after that host PIC send the bit of request the pin change to input, when slave PIC recived the request change the pin to output and send the data whit a bit of stop. precautions: the bit of request should be a pulse i.e. line data= 0 then line data=1 and line data = 0, the whit of the bit depending of the time instruction of slave PIC Francisco "Short, Evan" wrote: > > > 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 > -------------------------------------------------------------- Content-Type: text/x-vcard; charset=us-ascii; name="briones.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Francisco Armenta Content-Disposition: attachment; filename="briones.vcf" Attachment converted: wonderland:briones.vcf 2 (TEXT/CSOm) (0000B952)