hallo... ich habe kleine Frage, ich möchte strecke erfassen durch externe interrupt aber ich habe alles konfiguriert und empfange auch ein signal aber das problem, der Microcontroller liefert mir falsche zahlen. der microcontroller sollte mir 120 mal interrupt auslösen für einmal umdrehung.aber der gibt mir 8787.
Was verwendest du als Sensor für die Umdrehung? Elektrischen oder optischen Drehgeber? Hört sich erstmal nach fehlender Entprellung an, d.h. der Interrupt wird bei einem Schritt durch Kontaktschwingen mehrmals ausgelöst.
ganz genau, das ist das problem ich bekomme an die microcontroller falsche zahlen. oder ich habe die Intterupt falsche konfiguriert..ich benutze Sharp GP2Y0A02YK und M16c/245 microcontroller.. void init_INT1(void){ asm("fclr i"); //disable global interrupts before setting IPL pd8_3=0; //setinterrupt priority to 7 and select rising edge int1ic=1; //IPL 7 (Interrupt Priority Level) ifsr1=1; //Triggered at two edges of external signal //ifsr1=0; //Triggered at one edges of external signal asm("fset i"); //enable global interrupts } void INT1(void) {counter_1++;}
Moin, der GP2Y0A02YK ist ein IR-Abstandssensor mit analogem Ausgang. Meinst Du GP1A038RBK? Dann würde ich definitiv das Ausgangssignal mit dem Oszi gründlichst untersuchen, unter manchen Bedingungen liefert dieser Sensor mehr Unfug als sinnvolle Signale.
Moin, ja hast du recht das ist die GP1A038RBK..ich danke dir esrtmal....was kann man am besten dagegen tun um die richtige zu bekommen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.