Hio,
habe zwar noch nie einen 16f884 programmiert aber warum sollte das nicht funktionieren?
Datenblatt Kapitel 12
Du hast ein Rx- und ein Tx-Register in beiden Controllern.
(Nun kenn ich deine Vorkenntnisse nicht. Also fang ich einfach bei 0 an. )
HW-technisch verbindest du Rx1 mit Tx2 und Rx2 mit Tx1 das wars dann (Masse sollte auch verbunden sein).
SW-technisch:
Full-duplex asynchronous transmit and receive.
Bei mir heißt das so viel wie: Du kannst senden und empfangen gleichzeitig.
Wenn du mit C1 was sendest bekommst du einen Interrupt bei C2 das etwas empfangen wurde. Bei C1 bekommst du auch einen Interrupt das etwas gesendet wurde. Somit kannst du dir entweder eine Bestätigung von C2 schicken lassen oder du befüllst das TXREG von C1 wieder neu und es werden die nächsten 8 Bit gesendet.
Wenn ich das richtig gelesen habe, kannst du auf das TRMT Flag pollen, falls du keinen Interrupt nutzen willst. Beim Empfangen musst du wohl auf den Interrupt zuück greifen.
Bessere Vorschläge?
LG
Martin
Lesezeichen