Hi,
zwischenzeitlich habe ich einige Tests mit den gesnifften Daten gemacht.
Leider funktioniert das ganze noch nicht.
Ich vermute, dass ich ein Timing-Problem habe.
Mein Aufbau sieht momentan folgendermaßen aus:
2 Bettys
-> eine sendet die gesnifften Daten (die ich analysieren möchte und ganz zu Anfang aufgezeichnet habe)
-> zweite snifft die Daten, die Betty 1 verschickt, mit
Damit kann ich prüfen, ob die Daten korrekt gesendet wurden.
Nun ist es aber leider so, dass die Daten, die Betty 1 sendet, komplett anders aussehen als die ursprünglich zu analysierenden Daten.
Hier mal mein Code für den Versand der Daten per Funk:
void RF_viewer_6_10_senden(void) {
unsigned int i=1;
char replay[]="000000000000000000000000000000000000001111000011111000011000000001100000000011111110000001111111110000000001111110000000111111100000011111111100000000011111110000111001111100001111111111100000000000111111111110000000000011111110000000011111110000000111111100000011111111100000000000111111111000000000111111111000000001111111110000000001111111110000000011110000111111111001";
//Die Daten der Variable replay wurden hier stark gekürzt. Bei mir sind es insgesamt 19700 Nullen und Einsen
lcd_fill(0);
set_font(BOLDFONT);
draw_string(0, 0, "RF viewer-senden", 3, DRAW_PUT);
draw_block(0,10,128,2,3,DRAW_PUT);
set_font(SMALLFONT);
RFasyncmode_6(true);
cc1100_write1(AGCCTRL2,0x03);
cc1100_write1(AGCCTRL1,0x00);
cc1100_write1(AGCCTRL0,0x92);
cc1100_strobe(STX);
serial_init(); //baud 230400
while(KEY_Exit) {};
for (i=1;i<19700;i++)
{
waitus(10);
if(replay[i]=='0')
{
FIOCLR0 = GDO0; //Kein Signal wird gesendet - Low
} else {
FIOSET0 = GDO0; //Signal wird gesendet - High
}
}
RFasyncmode_6(false);
}
Hier mal mein Code für das sniffen der Daten:
void RF_viewer_6_10(void) {
unsigned char row = 0;
unsigned char col = 16;
lcd_fill(0);
set_font(BOLDFONT);
draw_string(0, 0, "RF viewer-sniffen", 3, DRAW_PUT);
draw_block(0,10,128,2,3,DRAW_PUT);
set_font(SMALLFONT);
RFasyncmode_6(true);
cc1100_write1(AGCCTRL2,0x03);
cc1100_write1(AGCCTRL1,0x00);
cc1100_write1(AGCCTRL0,0x92);
cc1100_strobe(SFRX);
cc1100_strobe(SRX);
serial_init(); //baud 230400
while(KEY_Exit) {};
while(!KEY_Exit)
{
waitus(10);
if((FIOPIN0 & GDO2))
{
serial_putc('0'); //Low
} else {
serial_putc('1'); //High
}
}
RFasyncmode_6(false);
}
Hat jemand eine Idee, warum das ganze nicht korrekt funktioniert?
Viele Grüße
Asgard