Laborboard RS232: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 28: Zeile 28:
Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)<br>
Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)<br>
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)<br>
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)<br>
* Nochmals: '''Pinbelegungen überprüfen !''' 2te große Fehlerquelle !<br>
Besonders trickreich wenn man die Reihenfolge der Pins vertauscht, dann wird das Komplement zum Atmega gesendet, wodurch sehr merkwürdige Zeichenketten entstehen.


== Beispielprogramm UART-ECHO ==
== Beispielprogramm UART-ECHO ==

Version vom 7. Februar 2010, 18:08 Uhr

Anfangen

Wissen was man tun möchte und wies funktioniert:
Sehr ausführliches Tutorial : AVR-Tutorial:_UART

Hardware

Bauteilliste:

1x MAX232
5x 1µF Elko
1x RS232 /COM-Buchse
  • Schaltplan und Layout:

[Laborboard_mit_max232_Layout.png]
[Laborboard_mit_max232_Schaltplan.png]

Nach dem Aufbau alle Leiterbahnen überprüfen, hier ist meistens eine kalte Löststelle.
Primäre Fehlerquelle !

  • Test des MAX232:

Pin T2IN des Max232 auf 0V legen -> Pin T2OUT muss größer 8V sein
Pin T2IN des Max232 auf 5V legen -> Pin T2OUT muss kleiner -8V sein

Pin R2IN des Max232 auf -5V legen -> Pin R2OUT muss gleich 5V sein
Pin R2IN des Max232 auf 5V legen -> Pin R2OUT muss gleich 0V sein

  • Verbinden des MAX232 mit einer seriellen Schnittstelle:

Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)

  • Nochmals: Pinbelegungen überprüfen ! 2te große Fehlerquelle !

Besonders trickreich wenn man die Reihenfolge der Pins vertauscht, dann wird das Komplement zum Atmega gesendet, wodurch sehr merkwürdige Zeichenketten entstehen.

Beispielprogramm UART-ECHO

Erst mal checken wir die Quellcodes der Beispielprogramme aus und laden ein neues Programm in den Atmega:

svn checkout https://www.das-labor.org/svn/microcontroller/src-atmel/tests/uart-echo/
cd /svn/microcontroller/src-atmel/tests/uart-echo/
make
avrdude $AVR -U image.hex

Als nächstes wird das Laborboard mit einem Serial Anschluss verbunden, wer einen Laptop nutzt kann auch einen USB->Serial Adapter nehmen. Die Treiber sollten bei den meißten neueren Betriebssystemen vorhanden sein, wenn nicht sind diese natürlich erst zu installieren.

Programme zum RS232 Datenaustausch

gtkterm (Linux):
Um Daten an den Atmega zu senden und zu empfangen empfehle ich das Programm gtkterm.
Es kann installiert werden mit dem Befehl:

sudo apt-get install gtkterm

realterm (Windows/Linux):

http://realterm.sourceforge.net/
Für Linuxnutzer:
Realterm läuft mit WINE, wenn diese Verknüpfung erzeugt wurde kann der USB-Seriell-Adapter über COM2 angesprochen werden.

ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2

Die erste serielle Schnittstelle heißt unter Linux /dev/tty0 oder /dev/ttyUSB0. Um zu testen ob Daten vom PC gesendet werden, kann die BAUD-Rate auf 300 bit/s eingestellt werden, ein Spannungsmessgerät mit der TX Leitung & Masse verbunden, und beliebige Zeichen gesendet werden. Die Spannung sollte sich merklich ändern (im Volt-Bereich).

Links

rn-wissen.de: UART_mit_avr-gcc
sprut: RS232 Hardware
Windows/WINE: http://realterm.sourceforge.net/