Hallo Leute Beim AVR gibts ja die "ISR (UART_TX_vect)", also einen UART transmission-complete Interrupt. Benötige nun das gleiche bei einem LPC1769 habe im Datenblatt nix gefunden, oder übersehen^^ Benötige das ganze für eine DMX-Übertragung. Es soll erst das nächste Byte gesendet werden wenn das vorherige erfolgreich gesendet wurde. Wenns da keine ISR gibt, gibt es andere Alternativen wie ich es realisieren könnte? Danke schonmal :) LG
Gast
#3743306
Kurz überflogen: Dieser uC hat einen Interruptvektor für 7 mögliche Interrupts vom UART. Du musst also in der ISR ein Register auslesen, um die Quelle zu erfahren. UARTn Interrupt Identification Register
Die wichtigste Info erschliesst sich aus dem Manual nicht auf den 1. Blick: Wenn man den "Transmission Complete" haben will, also wenn das Stop Bit vom Zeichen beim Auslösen auf der Leitung sein soll, dann darf man nur ein Zeichen vorher in den FIFO schreiben. Anderenfalls triggert er früher, nämlich wenn er anfängt das letzte Zeichen zu senden - da darf man übrigens schon ein neues reinschreiben. Das ist für die Leute wichtig, die damit z.B. RS485 Treiber umschalten wollen. Allerdings geht das am USART1 mit dem RTS-Pin am Bequemsten, da automagisch.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.