Hallo Leute,
ich habe derzeit ein Problem mit dem Senden und Empfangen mehrere Bytes
über UART. Das Senden und Empfangen einzelner Bytes klappt. Das ist
meine Methode zum Senden eines Bytes, was wie gesagt funktioniert:
1 | int UART0_SendByte (int iData)
|
2 | {
|
3 | while (!(LPC_UART0->LSR & 0x20));
|
4 | LPC_UART0->THR = iData;
|
5 | }
|
Mit dieser Methode habe ich dann eine Funktion erstellt, die einen
String senden soll, was nicht funktioniert. Das Problem ist, dass wenn
ich zum Beispiel eine String mit 16 Zeichen versende nur 13 ankommen
und von denen nur die wenigsten stimmen
1 | void UART0_SendString (unsigned char *s)
|
2 | {
|
3 | while (*s != 0)
|
4 | {
|
5 | UART0_SendByte(*s++);
|
6 | }
|
7 | }
|
Beim Empfangen ist das Problem, dass bei jedem empfangenen Byte der/das
Interrupt gefeuert wird, obwohl ich mit:
das Triggern auf alle 4 Bytes gestellt habe.
Ich hoffe, dass ihr mir helfen könnt, da ich nicht allzu viel Erfahrung
mit Mikrocontrollern habe. Ich bedanke mich im Voraus.
Viele Grüße!