Hallo Leute, nachdem ich mir jetzt Tagelang Tutorials reingezogen habe und so langsam anfange zu verstehen, was ein µC ist, habe ich doch eine grundlegende Frage: Kann mir einer den Ablauf einer Kommunikation der seriellen Scnitstelle erklären, oder brauchbare Links geben, wo es !!!leicht!!! erklärt ist, damit ich diese selber erstellen/programmieren kann? Folgender Hintergrud: Ich möchte mit einem µC, wahrscheinlich ein ATMega32, mit einem Münzprüfer per MDB Schnittstelle kommunizieren. Bisher habe ich rausgefunden, daß es per UART nicht geht, und per USART kann man wohl senden, aber nicht empfangen. Hoffe ihr könnt mir helfen... Vielen Dank im Voraus! Gruß A.R. PS: Google habe ich auch schon gefragt, aber nichts gefunden, was mir so richtig weiterhilft.
Bisher habe ich rausgefunden, daß es per UART nicht geht, und per USART kann man wohl senden, aber nicht empfangen. Wieso geht es mit UART nicht? USART is auch nur ein UART mit der Fähigkeit, auch synchron Daten zu übertragen. UART und USART (eigentlich USRT) können senden und empfangen.
Such bei google mal nach "rs232" und klick auf den ersten Link, da ist eigentlich alles wichtige beschrieben. Wenn du wissen willst, wie du die AVR entsprechend einstellst solltest du mal einen Blick auf das AVR-GCC-Tutorial werfen.
Habe mir gerade die Spezifikationen vom MDB angesehen, der ATMEGA muß im 9-Bit Modus senden und empfangen. Eine Anleitung zur Initialisierung und Benutzung der UART mit 9-Bit Daten findest Du im Datenblatt des Controllers.
OK, vielen Dank für die schnellen Antworten. Habe mir jetzt die Hardware bestellt und werde mal anfangen... Bisher waren das alles nur "Trockenübungen" Falls ich nicht weiterkomme, werde ich nachfragen. Super Forum /*Daumen hoch/* Gruß A.R.
Nur am Rande sei bemerkt, daß der 9-Bit-Betrieb mit den an PCs üblichen seriellen Schnittstellen nur mit Softwaretricksereien möglich ist, da die Schnittstellenhardware selbst keinen 9-Bit-Betrieb kennt. Für die Software-Trickserei wird das Paritätsbit missbraucht. Für jedes zu übertragende Byte muss der Wert des Paritätsbits entsprechend der aktuellen Einstellung (gerade/ungerade) der Schnittstelle berechnet werden; entspricht dies nicht dem erwünschten Wert für Bit 9, so ist die Schnittstelle auf die jeweils andere Paritätsbetriebsart (gerade/ungerade) umgeschaltet werden. Beim Empfang ist für jedes empfangene Byte das Paritätsfehlerbit der Schnittstelle auszuwerten und mit dem anhand des aus den empfangenen Daten berechneten Paritätsbits je nach aktueller Einstellung (gerade/ungerade) zu vergleichen. Eine paritätsbitgesicherte Übertragung von 9-Bit-Datenwörtern ist damit nicht umsetzbar, es sind nur die Betriebsarten 9n1 und 9n2 möglich. Besonders effizient ist diese Betriebsart auch nicht, durch das häufige Umschalten der Schnittstellenhardware durch den Devicetreiber des Betriebssystems sind allenfalls ein paar hundert Bytes pro Sekunde übertragbar. Fazit: So schön der 9-Bit-Betrieb mit Microcontrollern auch sein mag, im Zusammenhang mit PCs ist er tunlichst zu vermeiden.
Hier geht´s doch gar nicht um einen PC, sondern um einen Münzprüfer, der eben genau 9 Bit spricht. Hier kann ein AVR gute Dienste leisten. Der AVR kann auch als Datenwandler für eine Standard-PC-UART fungieren. Ein AVR mit 2 UARTs bietet sich dann an.
>Hier geht´s doch gar nicht um einen PC, sondern um einen Münzprüfer... Daher meinte Rufus wohl auch: >Nur am Rande sei bemerkt...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.