Also die UART ist ne absolute Bremse vom µC, wird die
nicht interruptbasierend wie z.B. mit Print betrieben
ist der Controller ne halbe Ewigkeit am Daumen drehen.
Für dolche Überprüfungen gibts den Simulator.
Da steht unten die Cycles also Taktzyklen die
vergehen und auch die vergangene Zeit.
Wie lange es dauert 5 Bytes zu senden hängt von Deiner Baudrate ab.
Wenn Du den String einfach so per Print rausschickst wirds mit anderen Funktionen schwierig noch nebenher was zu machen. Dafür gibts dann den Ringpuffer, der über Config Serial out buffered etc. angelegt werden kann
oder, wie ich es meist mache, auch manuell eingerichtet werden kann.
Das Schreiben ins Senderegister UDR ist ne kurze Geschichte, die Hardware übernimmt dann das Senden in Eigenregie, braucht man bis zum nächsten Zeichen dann nix mehr machen, der weil kann der µC dann anderes tun.
Dafür gibts dann den UTXC- Interrupt, der ausgelöst wird wenn die Übertragung eines Byte abgeschlossen ist. In diesem Interrupt schreibt man dann das nächste Zeichen in die UDR und dann gehts fröhlich weiter mit anderen Dingen, bis eben zum nächsten Zeichen.
Ob die 200ms reichen für alle Deine Bytes hängt von der Baudrate ab.
Lesezeichen