M
M3GAPL3X
Guest
Hi Guys,
Έχω αρχίσει τα ακόλουθα σφάλματα για κάποιο λόγο.Βασικά είμαι με τη χρήση της για να παρακολουθείτε πόσο καιρό ένα κουμπί είναι πατημένο.Η WDT ξυπνά κάθε 18 ms.
Κωδικός:# περιλαμβάνουν <htc.h>
# καθορίσει BUTTON_INPUT GP0/ / Sleep εντολή
άκυρη νάρκης (κενή)
(
# ASM
ύπνος
# endasm
)/ / κύρια λειτουργία
κενό κύριο ()
(
ενώ (1) / / κάνουμε πάντα
(
CLRWDT ()? / / Σαφές το φύλακα χρονόμετρο
CheckButton ()? / / Ελέγχει το κουμπί
WDTCON = 1? / / Επιτρέψουν την φύλακα χρονόμετρο
Νάρκη ()? / / Πάω για ύπνο για 18 ms
WDTCON = 0? / / Απενεργοποιήσετε τον φύλακα χρονόμετρο
CheckButton ()? / / Ελέγξετε ξανά το κουμπί
)
)/ / Λειτουργία: CheckButton
/ / Περιγραφή: Ελέγξτε την κατάσταση της RC2
/ / αν ενεργό χαμηλό, increment COUNTER.
COUNTER Ελέγξτε για να δείτε αν είναι πάνω από 3 δευτερόλεπτα.
Αν ναι, παρέχει εξουσία
/ / στο κύριο υπολογιστή.
Αν ενεργό υψηλό, για να επαναφέρετε COUNTER 0άκυρη CheckButton (κενή)
(
unsigned int COUNTER = 0?εάν (BUTTON_INPUT == 0) / / Εάν μια δραστική χαμηλή, η αύξηση COUNTER
(
COUNTER ?
εάν (ΑΝΤΙΓΝΩΜΟΔΟΤΗΣΗ> = 10000) / / 3
(
/ / SEND POWER TO HOST, στις δοκιμές, υπάρχει LED
)
)
άλλο / / άλλο - COUNTER επαναφέρετε την τιμή ξανά σε 0, επειδή δεν είναι πατημένο το κουμπί
(
COUNTER = 0?
)
)
Έχω αρχίσει τα ακόλουθα σφάλματα για κάποιο λόγο.Βασικά είμαι με τη χρήση της για να παρακολουθείτε πόσο καιρό ένα κουμπί είναι πατημένο.Η WDT ξυπνά κάθε 18 ms.
Κωδικός:# περιλαμβάνουν <htc.h>
# καθορίσει BUTTON_INPUT GP0/ / Sleep εντολή
άκυρη νάρκης (κενή)
(
# ASM
ύπνος
# endasm
)/ / κύρια λειτουργία
κενό κύριο ()
(
ενώ (1) / / κάνουμε πάντα
(
CLRWDT ()? / / Σαφές το φύλακα χρονόμετρο
CheckButton ()? / / Ελέγχει το κουμπί
WDTCON = 1? / / Επιτρέψουν την φύλακα χρονόμετρο
Νάρκη ()? / / Πάω για ύπνο για 18 ms
WDTCON = 0? / / Απενεργοποιήσετε τον φύλακα χρονόμετρο
CheckButton ()? / / Ελέγξετε ξανά το κουμπί
)
)/ / Λειτουργία: CheckButton
/ / Περιγραφή: Ελέγξτε την κατάσταση της RC2
/ / αν ενεργό χαμηλό, increment COUNTER.
COUNTER Ελέγξτε για να δείτε αν είναι πάνω από 3 δευτερόλεπτα.
Αν ναι, παρέχει εξουσία
/ / στο κύριο υπολογιστή.
Αν ενεργό υψηλό, για να επαναφέρετε COUNTER 0άκυρη CheckButton (κενή)
(
unsigned int COUNTER = 0?εάν (BUTTON_INPUT == 0) / / Εάν μια δραστική χαμηλή, η αύξηση COUNTER
(
COUNTER ?
εάν (ΑΝΤΙΓΝΩΜΟΔΟΤΗΣΗ> = 10000) / / 3
(
/ / SEND POWER TO HOST, στις δοκιμές, υπάρχει LED
)
)
άλλο / / άλλο - COUNTER επαναφέρετε την τιμή ξανά σε 0, επειδή δεν είναι πατημένο το κουμπί
(
COUNTER = 0?
)
)