kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




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.