Deklaration
-
hallo!
wie muss ich die !bit_test(port,pin) - funktion deklarieren, damit ich keine fehlermeldung mehr erhalte?wenn ich sie als unsigned char !bit_test deklariere,dann wird mir als fehler angezeigt, dass keine bezeichner vorhanden sind!
//wait_for_release (PORTB,0) void wait_for_release(char port, short pin) { char x=0; while(x !=5) { if (!bit_test(port,pin)) x++; else x=0; DelayMs(50); } } //wait_for_press (PORTB,0) void wait_for_press(char port, short pin) { char x=0; while (x!=5) { if (!bit_test(port,pin)) x=0; else x++; DelayMs(50); } } void entprellung (void) { while(1) { if (RB5==0 || RB4==0 || RB3==0 || RB2==0) wait_for_release (char port, short pin); wait_for_press (char port, short pin); else delayMs(100); } }
-
achso, die anweisungen sind dazu da, um taster zu entprellen...
-
Eine Funktion "!bit_test" gibt es nicht - wenn, dann heißt die Funktion bit_test() und sollte eine zur Verwendung passende Signatur haben (also z.B.
int bit_test(char,short);
(und dann solltest du dir erstmal Gedanken darüber machen, was diese Funktion eigentlich bewirken soll)
-
alles klar die deklaration hab ich hinbekommen!aber nun bekomm ich syntaxfehler, wenn ich die funktionen wait_for_release(char,short) und wait_for_press(char,short) in der entprellungsfunktion aufrufe!ich muss doch die parameter übergeben oder?
programmiere zum ersten mal...
-
Ja, beim Aufruf mußt du auch nicht die Parametertypen angeben - das heißt dort einfach "wait_for_release(port,pin);" (wobei du irgendwo die korrekten Werte für port und pin setzen solltest).
-
bob_mplab schrieb:
achso, die anweisungen sind dazu da, um taster zu entprellen...
guckstu: http://www.ganssle.com/debouncing.pdf (page 20) ist viel einfacher, oder das hier: http://www.mikrocontroller.net/topic/6492
##########################
##########################
##########################
##########################
##########################
##########################
##########################
##########################
##########################
##########################
##########################
##########################