Also so langsam krieg ich hier die Krise. Ich hab das ganze jetzt so umgesetzt wie du gesagt hast, aber jetzt bekomme ich gar keine Zeichen mehr ausgegeben. Hier der Code ausm Timer:
Code:
if(!(PINC & (1<<PC0))) //Kein Impuls==Pause
{
if(t>78000 && t<82000)
{
if(dcf!='0')
dcf='1';
}
if(t>88000 && t<92000)
{
dcf='0';
}
if(t>170000 && t<180000)
{
dcf_buf[t2]='1'; //ENDEBIT
dcf_buf[t2+1]='\0';
t2=0;
r='2'; //empfangene Zeichenkette über RS232 senden
}
if(t>180000 && t<190000)
{
dcf_buf[t2]='0'; //ENDEBIT
dcf_buf[t2+1]='\0';
t2=0;
r='2'; //empfangene Zeichenkette über RS232 senden
}
t++; //Timer inkrementieren
}
else //Impuls==timer zurücksetzen
{
if(dcf=='0' || dcf=='1') //Wenn Zeichen empfangen
{
dcf_buf[t2]=dcf; //empfangenes Zeichen in zur Zeichenkette hinzufügen
dcf_buf[t2+1]='\0';
t2++; //eine Stelle weiterrücken
}
t=0; //Timer zurücksetzen
}
Ich nehme mal stark an, dass mein Counter t anscheinend nie die eigentlich gewünschten Zahlen erreicht. Sollte ich vielleicht den Voreingestellten Timer, der ja jetzt auf 0,01ms steht auf z.b. mal 10ms sekunden erhöhen? Oder liegt das Problem doch ganz woanders?
Gruß
cesupa
Lesezeichen