Hmmm schrieb:
Eleganter wäre es, trotz des beim Senden deaktivierten RXE den
integrierten Pullup zu aktivieren, um das Floaten von RXD zu verhindern.
Das habe ich jetzt einfach mal gemacht. Es kostet nichts.
Hmmm schrieb:
Ja, der UART schiebt nicht direkt UDR raus, sondern übernimmt es in ein
Schieberegister, so dass es wieder beschrieben werden kann, bevor der
Frame komplett gesendet wurde.
Mich verwirrt noch etwas folgende Aussage aus dem Datenblatt: "The TXCn flag bit is automatically cleared when a transmit complete interrupt is
executed, or it can be cleared by writing a one to its bit location. The TXCn flag can generate a transmit complete interrupt
(see description of the TXCIEn bit)."
Im grunde wäre es doch besser in der for schleife auf TXC zu prüfen um sich den Schritt am Ende zu sparen. Damit wäre wirklich sichergestellt, dass man immer ein Byte mit Stopbit sendet.
Hmmm schrieb:
Welchen Interrupt hast Du denn genommen?
Es gibt beim Atmega328 für ein Interrupt für Transmit complete und das ist USART, Tx complete Vector 21