Pathfinder
09.08.2004, 20:12
Hallo an alle,
ich habe folgendes Problem. Wollte eine IR-Fernbedienung
entwickeln, welche den SIRCS/CNTRL-S-Code verwendet.
Das ist aber erstmal egal.
Das eigentliche Problem ist, das ich versucht habe in c ein Programm zu schreiben, welches mir an einem Ausgang meines Controllers einen Takt mit definierte Impuls-, Pausenverhältnis bringen soll
Ich habe es folgendermaßen realisiert:
for(;;)
{
outp (0x00, PORTB);
for(a=0;a<8300;a++); // 8300 Takte warten, entspricht
// ungefähr 2,4ms
outp (0x01, PORTB);
for(a=0;a<8300;a++);
}
Hierbei ist das Problem, das die Anzahl der Takte die die Schleife zählt,
stark nichtlinear zu der Zeit ist die der Takt andauert.
Woran liegt das, was kann ich besser machen damit ich mir die Länge des Taktes vorher berechnen kann.
Danke im vorraus. . .
ich habe folgendes Problem. Wollte eine IR-Fernbedienung
entwickeln, welche den SIRCS/CNTRL-S-Code verwendet.
Das ist aber erstmal egal.
Das eigentliche Problem ist, das ich versucht habe in c ein Programm zu schreiben, welches mir an einem Ausgang meines Controllers einen Takt mit definierte Impuls-, Pausenverhältnis bringen soll
Ich habe es folgendermaßen realisiert:
for(;;)
{
outp (0x00, PORTB);
for(a=0;a<8300;a++); // 8300 Takte warten, entspricht
// ungefähr 2,4ms
outp (0x01, PORTB);
for(a=0;a<8300;a++);
}
Hierbei ist das Problem, das die Anzahl der Takte die die Schleife zählt,
stark nichtlinear zu der Zeit ist die der Takt andauert.
Woran liegt das, was kann ich besser machen damit ich mir die Länge des Taktes vorher berechnen kann.
Danke im vorraus. . .