kramann.info
© Guido Kramann

Login: Passwort:










COACH2
1 Planung
2 Architektur
3 Anzeige
4 EEPROM
5 I2C
..5.1 MasterSendByte
..5.2 MasterSend2Bytes
..5.3 MasterReceiveByte
..5.4 MasterReceive2Bytes
6 UART
7 DFT
8 FFT
9 Planung2
10 Klassen
..10.1 AnzeigeTaster
..10.2 RS232
..10.3 MotorServo
..10.4 Drehgeber
..10.5 Sensor
..10.6 Funk
11 Adaption
..11.1 Programmiertechnik
..11.2 Evoopt
12 Fuzzy
..12.1 Uebungsaufgabe
..12.2 Fuzzygroesse
..12.3 Fuzzyset
..12.4 Lookuptable
13 Skript
..13.1 Funkkorrektur
..13.2 Skriptsprachen
..13.3 Anforderungen
..13.4 Agentensysteme
..13.5 Implementierung
..13.6 Experimente
14 Gesamtkonzept
..14.1 Skripterweiterung
..14.2 Makroverhalten
67 Echtzeitsysteme
..67.1 Einfuehrung
....67.1.1 Echtzeit
....67.1.2 Korrektheit
....67.1.3 Hardware
....67.1.4 Ziele
....67.1.5 Synchronprogramm
..67.2 Threads
....67.2.1 Java
....67.2.2 Synchronisierung
..67.3 COACH
....67.3.1 Kaskadenregler
....67.3.2 Zeitebene1
....67.3.3 Zeitebene2
....67.3.4 Zeitebene3
....67.3.5 Puck
....67.3.6 Puckschwarm
..67.4 RTAIlab
....67.4.1 Slax
....67.4.1 USB_Stick
....67.4.2 Sinus
..67.5 Semaphor
....67.5.1 Laufkatze
....67.5.2 Java
....67.5.3 Semaphor
..67.6 Audio
....67.6.1 wav
....67.6.2 Linux
..67.7 Lookup
....67.7.1 Fuzzy
....67.7.2 PWM
..67.8 NeuronaleNetze
....67.8.1 Neuron
....67.8.2 Backpropagation
....67.8.3 Umsetzung
....67.8.4 Winkelerkennung
..67.9 Internetprogrammierung
....67.9.1 Codegenerierung
....67.9.2 PHP_Programmierung
....67.9.3 PHP_OOP
....67.9.4 Java
....67.9.5 UDP
..67.10 DFT
..67.11 FFT
..67.12 Zustandsmaschine
..67.13 Fuzzy
....67.13.1 Fuzzylogik
....67.13.2 FuzzyRegler
....67.13.3 Uebung9
....67.13.5 Softwareentwicklung
......67.13.5.1 AgileSoftwareentwicklung
......67.13.5.2 FuzzyRegler
......67.13.5.3 Uebung
....67.13.6 Umsetzung
......67.13.6.1 FuzzyRegler
......67.13.6.2 Simulation
......67.13.6.3 Optimierung
......67.13.6.4 Uebung
....67.13.7 Haengependel
......67.13.7.1 Haengependel
......67.13.7.2 Simulation
......67.13.7.3 FuzzyRegler
......67.13.7.4 Optimierer
......67.13.7.5 Genetisch
....67.13.8 Information
....67.13.9 Energie

10.6 AVR-Projekt coach2.2_06_funk - Verwendung des Funkmoduls

  • Folgende virtuellen Klassen wurden implementiert:
class FunkBASIS
{
  public:
    // Spezifische Funktionen fuer die COACH Fahrzeuge
    virtual void sendeText(char *data);             // zu sendender Text muß mit \n abschliessen!
    virtual char* empfangeText();                   //empfangener Text muß mit \n abschliessen!
    virtual void sendePositiveInteger(int32_t zahl);
};

Code 10.6-1: Virtuelle Basisklasse der Klasse

Methodenname Beschreibung Beispiel
sendeText(char *data) Überträgt den übergebenen Text per Funk und hängt einen Zeilenumbruch an. funk.sendeText("Gesendeter Text");
char* empfangeText() Speichert die empfangenen Zeichen in einem Textpuffer, bis ein Zeilenumbruch empfangen wird. zeiger = funk.empfangeText();
sendePositiveInteger(int32_t zahl) Sendet Integer-Zahl funk.sendePositiveInteger(42);

Tabelle 10.6-1: Methoden der Klasse Funk

  • Achten Sie beim Testen des Hauptprogramms auf folgendes:
  • Das Funkmodul muß richtig herum an seinen Steckplatz eingesetzt werden.
  • Genau wie das Programmiergerät benutzt es die SPI-Schnittstelle.
  • Mit den orangen Dip-Schaltern kann es von der Programmierschnittstelle abgetrennt werden.
  • Im Betrieb sollte das Programmiergerät herausgezogen werden.
  • Es wird eine Empfangsstation zur Verfügung gestellt, die es erlaubt, die gesendeten Daten am Hyperterminal zu sehen.
  • Es kann immer nur eine Gruppe ihr Funkmodul testen, da nur ein Funkkanal zur Verfügung steht.
  • Um das Empfangen von Text zu testen, müssen zwei Vehikel verwendet werden. Das Empfängerprogramm muß selber geschrieben werden auf Basis der Methode "empfangeText()".
  • Es bedarf noch einiger Überlegungen, um den Funkverkehr der Vehikel untereinander und das Einbetten dieses Datenaustausches innerhalb der anderen Methodenabläufe im enzelnen Vehikel zeitlich sinnvoll zu planen.
  • Machen Sie sich unter Echtzeitgesichtspunkten (Rechtzeitigkeit / Synchrone Programmierung) schon einmal Gedanken über ein Gesamtkonzept.