Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo da draußen > > Ich habe 2 Sender (TRX433) und 1 Empfänger(TRX433). Beide Sender laufen einzeln betrieben > korrekt, wenn ich jedoch beide anschließe gibt mir die Empfängereinheit zwar Daten auf den > PC aus, jedoch nicht exakt die die ich gesendet habe. Versuche zur Synchronisation > (capture,release) waren bisher nicht so erfolgreich.Sollte man die Programmroutine zum > Empfang der Daten für jeden Sender in einen eigenen thread packen? Grundidee war die > Daten beider Sender auf der Empfängerseite in einen String zu schreiben und auf meinen PC > auszugeben.Wer kann mir ein paar Tips geben? > > Mfg Jens > > Zuerst ein "kleiner" Quellcode zu meiner TRX433 Empfängereinheit > > string s; > string a; > int B,i; > int anzString; //zur Längenbestimmung des strings 's', > const LO = 0; > const HI = -1; > > /*------------------------------------------------------------------------------ > -----------------------thread empfang-----------------------------------------*/ > thread empfang > { > > loop > { > if ports.get(trx.DATA) == HI //Frame angekommen? > { > trx.TRX_RECEIVE(); > s = ""; > > B=trx.ADDR; //Sender1 > str.putint(s,B); > str.putstring(s,"/"); > > // Anzeige DB6 Sender 1 > B=trx.DB6; > str.putint(s,B); > str.putstring(s,"+"); > > // Anzeige TXADDR Sender 2 > B=trx.ADDR; > str.putint(s,B); > str.putstring(s,"-"); > > // Anzeige DB5 Sender 2 > B=trx.DB5; > str.putint(s,B); > str.putstring(s,"?"); > > lcd.clear(); > lcd.print(s, str.length(s)); > } > } > } > > /*---------------------------------------------------------------------------------- > -------------------------------thread sendenanpc----------------------------------*/ > thread sendenanpc > { > anzString=12; //nur zum testen > > if str.length(s) == anzString > { > // Baudrate einstellen, Standardeinstellung 9600 Baud > hwcom.setspeed(5); > > // Zeichenkette ueber HWCOM ausgeben > hwcom.send(s, str.length(s)); > halt; //weiss nicht ob wirklich richtig(will nur eine Ausgabe auf Hyperterminal) > } > } > > /*------------------------------------------------------------------------------ > ---------------------------thread main----------------------------------------*/ > thread main > { > lcd.clear(); > // ------------- Startanzeige ------------------------- > a = "DemoTRX433"; > lcd.print(a, str.length(a)); > > lcd.goto(1, 0); > > a = "Empfang"; > lcd.print(a, str.length(a)); > > sleep 5000; > lcd.clear(); > //---------------- TRX 433 Initialisierung ----------------------- > trx.TRXreset(); > trx.CH2set(); > trx.PWR4set(); > trx.ADDRset(100); //Empfängeradresse 100 > > // ------- Thread Empfang ------------------------------------ > > run empfang; > > // ------- SENDE DATEN AN PC --------------------------------- > > run sendenanpc; > } > > > nun noch ein Quellcode zur Sendeeinheit(habe 2 Sender,bis auf Adresse und Datenbit alles gleich) > > string s; > string a; > int test1; > > /*------------------------------------------------------------------------------ > -------------------------thread senden an empfänger---------------------------*/ > thread senden > { > test1=6; //nur Hilfsvariable > > loop > { > trx.ADDR=100; //Adresse des Empfängers(immer 100) > trx.DB0=trx.DB0+1; > > /* trx.DB5=test2; // wird als 2. Datenbit übertragen */ (für Sender 2) > trx.DB6=test1; // wird als 1. Datenbit übertragen > > trx.TRX_SEND(); > } > } > > /*------------------------------------------------------------------------------ > -------------------------thread main------------------------------------------*/ > thread main > { > > lcd.init(); > > a = "DemoTRX433"; > lcd.print(a, str.length(a)); > > lcd.goto(1, 0); > > a = "Sender1"; > lcd.print(a, str.length(a)); > //---------------- TRX 433 Initialisierung ----------------------- > trx.CH2set(); > trx.PWR4set(); > trx.ADDRset(133); //Senderadresse 133(Sender 2 hat 166) > > run senden; > sleep 500; > }