Gast
#1655654
Hallo alle miteinander, ich habe ein kleine Application auf Basis eines LPC2220 Mikrocontroller. In dieser Anwendung ist es nötig die Baudrate beliebig vom UART0 im Programm verlauf zu ändern. Ansich nicht kompliziert aber es funktioniert trotzdem nicht hierzu einen Ausschnitt aus dem Code um mein Problem zu erläutern: Gleich nach dem Startup führt der Controller folgendes aus und setzt die Baudrate by default auf 38400. // PCLK // Baudrate = ------------------------------------------------- // 16 * (256 * DLM + DLL) * (1 + DivAddVal/MulVal) U0LCR = 0x83; U0DLL =30; //38400 Baud U0DLM = 0; U0LCR = 0x03; Die Register UODLL und U0DLM stellen in diesem Fall die Baudrate auf 38400 Baud. Bis hierhin klappt das der UART arbeitet mit 38400 Baud. Später im Programmverlauf will ich die Baudrate auf 19200 umstellen und mach folgendes: U0DLL =60; // 19200 Baud U0DLM = 0; Leider Funktionierts ab hier nicht mehr das heisst der UART arbeitet einfach weiterhin mit 38400 Baud. Ich hab alles versucht aber ich kann die Baudrate nicht im Programmverlauf ändern. Wenn ich die Register U0DLL und U0DLM auslese steht 0x00 drin. Ich würde mich freuen wenn jemand zu diesem Problem ein paar neue Denkansätze liefern könnte