AVR-Projekt coach2.2_02_RS232 - Verwendung der seriellen Schnittstelle
- Folgende virtuellen Klassen wurden implementiert:
|
class RS232BASIS
{
public:
virtual void sendeZeichen(uint8_t zeichen);
virtual uint8_t holeZeichen();
virtual void sendeText(char*);
virtual char* holeText(bool reflect);
virtual void sendeInteger(int16_t);
virtual int16_t holeInteger(bool reflect);
virtual void sendeDouble(double);
virtual double holeDouble(bool reflect);
};
Code 0-1: Virtuelle Basisklasse der Klasse RS232
Methodenname |
Beschreibung |
Beispiel |
sendeZeichen(uint8_t zeichen)
|
Sendet ein einzelnes Zeichen an den PC |
rs232.sendeZeichen('a'); |
uint8_t holeZeichen()
|
Holt ein einzelnes Zeichen vom PC |
c = rs232.holeZeichen(); |
sendeText(char*)
|
Sendet eine Textzeile an den PC |
rs232.sendeText("Motor gestartet"); |
char* holeText(bool reflect)
|
Liest vom Hyperterminal einen Text, der mit # abgeschlossen werden muß. |
puffer = rs232.holeText(true); |
sendeInteger(int16_t)
|
Sendet eine ganze Zahl. |
rs232.sendeInteger(42); |
int16_t holeInteger(bool reflect)
|
Holt eine ganze Zahl |
x=rs232.holeInteger(true); |
sendeDouble(double)
|
Sendet eine Fließkommazahl. |
rs232.sendeDouble(-9.5); |
double holeDouble(bool reflect)
|
Holt eine Fließkommazahl. |
wert = rs232.holeDouble(false); |
Tabelle 0-1: Methoden der Klasse RS232
- Achten Sie beim Testen des Hauptprogramms auf folgendes:
- Es wird die Kommunikation mit dem PC getestet. Dies setzt voraus, dass das Hyperterminal gestartet und richtig konfiguriert wurde und Mikrocontroller und PC über die serielle Schnittstelle verbunden sind.
- Die boolsche Variable "reflect" entscheidet darüber, ob die am Hyperterminal eingetippten Zeichen dort auch erscheinen. Dazu müsssen sie vom Mikrocontroller zurückgespiegelt werden.
- Der Mikrocontroller muß über den 9,216MHz Quarz getaktet sein.
- Am Hyperterminal müssen eingestellt sein: Baudrate:115200, 8 Datenbits, ein Stopbit, kein Startbit, keine Flußsteuerung.
|