Re: Synchronisation Kategorie: Programmierung (von JensD - 25.08.2003 13:59) | |
Als Antwort auf Re: Synchronisation von André H. - 22.08.2003 12:19
| |
Hallo Andre` Habe für meine TRX433 Sender/Empfänger folgende Routinen geschrieben. Gewollt ist, das der Sender nur sendet nach Aufforderung durch den Empfänger welcher wiederum kontrolliert ob die korrekte Senderadresse(133) verwendet wurde. Der Sender bekommt auch die Sendeaufforderung(LCD Anzeige) allerdings sendet er nicht zurück bzw. der Empfänger gibt mir keine Ausgabe auf LCD. Die Syntax ist laut Compiler soweit ok. Was ist falsch....? Schon ma Danke im voraus Empfängerseite TRX433: thread main { ......... ........ .......... loop { if ports.get(trx.DATA) == HI //Frame da? { trx.TRX_RECEIVE(); //Hol dir den Frame if trx.ADDR == 133 //Sender hat TRX Adresse 133 { s = ""; B=trx.ADDR; str.putint(s,B); str.putstring(s,"/"); B=trx.DB6; str.putint(s,B); str.putstring(s,"/"); lcd.clear(); lcd.print(s, str.length(s)); //hier sollte Ausgabe 133/6/ auf LCD stehen sleep 5000; } } else { trx.ADDR=133; // Sendeaufforderung an Sender mit trx.ADDR 133 trx.DB0=trx.DB0+1; trx.TRX_SEND(); } } } Senderseite TRX433: thread main { .............. ........... ................. loop { if ports.get(trx.DATA) == HI //Frame angekommen? { // Hol dir den Frame trx.TRX_RECEIVE(); if trx.ADDR == 100 //Empfängeradresse 100 { s = ""; // Anzeige TXADDR (zur Kontrolle) B=trx.ADDR; str.putint(s,B); str.putstring(s,"/"); lcd.clear(); lcd.print(s, str.length(s)); //Ausgabe 100/ auf LCD // Jetzt soll Sender seine Daten abschicken trx.ADDR=100; //Adresse des Empfängers(immer 100) trx.DB0=trx.DB0+1; trx.DB6=6; trx.TRX_SEND(); sleep 500; } } else { wait ports.get(trx.DATA) == HI; //Warte auf Sendeaufforderung } } } | |
Antwort schreiben Antworten: |