Die Diode mit Kathode zu den 5v Atmega TX Pin sperrt die Strom das normaler weise die 3,3v Din von den XBee zerstören wurde. (früher oder später jedenfalls) Weil 5v höher ist als 3,3v. Damit den XBee Din Pin nicht schwebt muss es mit eine externe oder interne (im Xbee) Pull-up Widerstand an den Anode zu 3,3v gezogen werden.
Nun, wan die TX pin hoch ist (5v), bleibt den XBee Din Pin auch hoch (3.3v). Aber wann den TX niedrig gemacht wird (0v) fliest den Strom von den Pull-up Widerstand durch den Diode zu den TX Pin von den Atmega. Nun ist die Spannung am XBee Din Pin gleich an die Abfall-spannung über die Diode (Ich vermute das ist eine einfache Silizium signal-Diode, ungefähr 0,6 bis 0,7 volt). Das is klein genug damit die XBee das richtig erkennt. (Laut den Xbee Datenblatt soll es weniger sein als 0,35xVcc --> 0,35x3,3v=1,15v)
Die Dout von den XBee auf 3.3v reichst für den Atmega RX pin als High erkannt zu werden. Irgend wo in den Atmega Anleitung/Datenblatt steht das es mindestens höher sein soll als eine bestimmte Fraktion von den Atmega Vcc Spannung. (Fur den Atmega8 ist Vinput,high mindestend 0,6xVcc --> 0,6x5v=3v)
Lesezeichen