Frage

Ich habe Probleme beim seriellen Daten von ARM LPC2378 Mikrocontroller zu lesen. Muss ich UART oder eine GPIO-Port zu verwenden, kann verwendet werden ?? ayone mit C-Code für es ??

War es hilfreich?

Lösung

Es ist technisch möglich, ein GPIO-Port zu verwenden, aber dann ist die Software für die Bit-Timing verantwortlich, Framing, Fehlerprüfung usw. Es ist oft "Bit-banging" da der Code jedes Bit zu tun hat, und es ist so intensiv CPU. Für niedrigere Datenraten, können Sie es von einem Timer-Interrupt ausgeführt werden.

ein UART verwenden ist viel einfacher die UART macht die harte Arbeit des Bit-Timing, Framing, Fehlerprüfung, etc.

Nach der LPC2378 Datenblatt , hat der Mikrocontroller 4 UARTs. So ein UART verwendet, ist der Weg zu gehen. Welcher Stift ist Ihr Kommen seriellen Daten in auf? Die seriellen Daten müssen an einen Stift verbunden sein, der zu einem der 4 UARTs verbinden kann. Sie werden einige Register auf dem Mikrocontroller es einrichten für UART Nutzung von bis zu setzen haben:

  • Aktivieren Sie die UART, und seine Einstellungen (viele Einstellungen gibt)
  • gesetzt, der Stift ist der Eingang für die UART (vielleicht)
  • Einige andere Pin-Einstellungen

Auf den ersten, können Sie Polling versuchen die UART-lesen sein „RX Byte verfügbar“ -Kennzeichen, bis er sagt: „Es ist ein Byte zur Verfügung“, dann lesen Sie das Byte aus dem empfangenen Byte-Register. Lesen Sie auch die RX Fehlerflags registrieren, um zu sehen, ob es irgendwelche Fehler.

Danach funktioniert, können Sie arbeiten auf dem Erhalten RX-Interrupts arbeiten, so dass eine Empfangsunterbrechung erzeugt wird, eingehende Daten zu verarbeiten.

Diese Art der Sache etwas zu lesen Zeit im erfordert Bedienungsanleitung und Datenblatt . Genießen Sie!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top