Επαναφορά Arduino: Οι πιο εύκολες μέθοδοι
Η κατανόηση της διαδικασίας επαναφοράς του Arduino είναι απαραίτητη για όλους τους προγραμματιστές. Επίσης θα μάθετε πως να αντιμετωπίσετε πιθανά ζητήματα σε έργα και να εξερευνήσετε διαφορετικές τεχνικές επαναφοράς που βασίζονται σε υλικό και λογισμικό.Επομένως, μπορείτε να διατηρήσετε την ομαλή λειτουργία του Arduino. Κατανοώντας αυτές τις μεθόδους, θα μάθετε πώς να αντιμετωπίζετε σφάλματα, να αποφεύγετε άπειρους βρόχους και να διαγνώσετε δυσλειτουργίες.
Κατανόηση της συνάρτησης "Επαναφορά" στο Arduino
Η έναρξη της διαδικασίας επαναφοράς για την πλακέτα κυκλώματος Arduino περιλαμβάνει τη στιγμιαία αποσύνδεσή της.
Θυμηθείτε να το κάνετε αυτό πριν αποκαταστήσετε τη σύνδεση χρησιμοποιώντας USB ή τροφοδοτικό.
Με την επαναφορά του Arduino, ξεκινά η αρχική γραμμή κώδικα από το μεταφορτωμένο πρόγραμμα, ενώ τα προηγούμενα δεδομένα στη ROM διαγράφονται.
Αυτή η ενέργεια εξυπηρετεί έναν αναλυτικό σκοπό και μοιάζει με την επανεκκίνηση του υπολογιστή σας. διακόπτει τις τρέχουσες λειτουργίες και ξεκινά εκ νέου το σύστημα.
Η επιλογή επαναφοράς για το Arduino διευκολύνει την επανεκκίνηση της πλακέτας αρχικοποιώντας εκ νέου το τσιπ μικροελεγκτή AVR, μια λύση ενός τσιπ.
![Μπλε PCB με μικροελεγκτή και μονάδα επικοινωνίας](https://embedwiz.com/wp-content/uploads/2023/04/1-5.jpg)
Μπλε PCB με μικροελεγκτή και μονάδα επικοινωνίας
Η αναγκαιότητα επαναφοράς του Arduino
Αναπόφευκτα, μπορεί να προκύψουν επιπλοκές και η λειτουργία επαναφοράς επιτρέπει στο Arduino σας να ξεκινήσει εκ νέου το πρόγραμμά του.
1. Εξάλειψη εσωτερικών δυσλειτουργιών
Εάν το Arduino σας φιλοξενεί ένα σφάλμα, η εκτέλεση του κώδικα μπορεί να καθυστερήσει. Χρησιμοποιήστε το κουμπί επαναφοράς ή αυτόματης επαναφοράς για να εξαλείψετε σφάλματα και να επαναφέρετε τη λειτουργικότητα.
2. Διαφυγή ατέρμονων βρόχων
Εάν η πλακέτα του Arduino σταματήσει να λειτουργεί κατά τη λειτουργία ενός προγράμματος, είναι πιθανό να παγιδευτεί σε έναν ατελείωτο κύκλο, χωρίς να μπορεί να διαφύγει ανεξάρτητα.
Για να επιλύσετε αυτό το ζήτημα, είναι απαραίτητη η επαναφορά της πλακέτας, γι' αυτό και τα άτομα χρησιμοποιούν τη δυνατότητα επαναφοράς.
3. Διάγνωση δυσλειτουργιών
Η επαναφορά του Arduino είναι το αρχικό βήμα αντιμετώπισης προβλημάτων ενός προγραμματιστή. Συχνά, αυτή η ενέργεια διορθώνει προβλήματα και αποκαθιστά τη σωστή λειτουργία.
![Μια πλακέτα Arduino UNO](https://embedwiz.com/wp-content/uploads/2023/04/2-6.jpg)
Μια πλακέτα Arduino UNO
Επαναφορά Arduino με υποβοήθηση υλικού
Χρησιμοποιήστε το υλικό, δηλαδή την πλακέτα Arduino, για να πραγματοποιήσετε επαναφορά. Ακολουθήστε αυτά τα απλά βήματα:
1. Χρήση κουμπιού επαναφοράς
Παρατηρήστε το πορτοκαλί κουμπί στην πλακέτα Arduino UNO. Απλώς πατήστε το για να επαναφέρετε τη συσκευή.
Εναλλακτικά, άλλες πλακέτες μπορεί να διαθέτουν ένα μικρό ενσωματωμένο κουμπί για εκ νέου εκκίνηση. Πατώντας αυτό διακόπτει τις τρέχουσες εργασίες και επιστρέφει στην αρχική γραμμή κώδικα.
2. Χρησιμοποιώντας το κουμπί επαναφοράς
- Αρχικά, συνδέστε την καρφίτσα επαναφοράς του Arduino με οποιαδήποτε ψηφιακή καρφίτσα. για παράδειγμα, μπορείτε να το συνδέσετε στο Pin #4.
- Συνεχίστε να ανεβάσετε τον ακόλουθο κώδικα στην πλακέτα Arduino:
3. Διαμόρφωση κουμπιού εξωτερικής επαναφοράς
Η μη πρόσβαση στο κουμπί επαναφοράς της πλακέτας Arduino ή σε μια ασπίδα που εμποδίζει απαιτεί ένα εξωτερικό κουμπί επαναφοράς.
Προετοιμάστε ένα breadboard, ένα κουμπί και τα καλώδια βραχυκυκλωτήρα δίπλα στην πλακέτα Arduino.
Αναφερόμενοι στο φύλλο δεδομένων Arduino UNO, μια χαμηλή τάση που διαρκεί τουλάχιστον 2 μικροδευτερόλεπτα επαναφέρει τη συσκευή.
Χρησιμοποιήστε το κουμπί ώθησης για να τροφοδοτήσετε τον ακροδέκτη RESET με χαμηλή τάση.
Για να το πετύχετε αυτό, συνδέστε το κανονικά ανοιχτό κουμπί, συνδέοντας τη μία πλευρά με τον ακροδέκτη RESET και την άλλη με το GND.
Όταν δεν πατάτε το κουμπί, η ακίδα RESET είναι ψηλά.
Ωστόσο, όταν πατηθεί, συνδέεται με τον ακροδέκτη GND και γίνεται χαμηλός.
Επαναφορά Arduino βάσει λογισμικού
Δεν μπορείτε να αποκτήσετε εξωτερική πρόσβαση στην πλακέτα σας Arduino; Μάθετε να το επαναφέρετε χρησιμοποιώντας το λογισμικό Arduino IDE και Arduino.
4. Επαναφορά χρήσης λειτουργίας
Η ενσωματωμένη λειτουργία επαναφοράς resetFunc(), που βρίσκεται στις βιβλιοθήκες του Arduino , προσφέρει έναν απλό τρόπο επαναφοράς του Arduino μέσω προγραμματισμού.
Γράψτε τον κωδικό και καλέστε τη λειτουργία επαναφοράς στη θέση του χώρου διευθύνσεων 0.
Αυτή η διαδικασία θα επανεκκινήσει την πλακέτα του Arduino, εκκινώντας το πρόγραμμα από την αρχική γραμμή κώδικα.
Αυτή η απλή προσέγγιση δεν απαιτεί εξωτερικά κυκλώματα. η κλήση της συνάρτησης είναι απαραίτητη για να συνεχίσετε.
5. Τεχνική Watchdog Timer
Η μέθοδος timer watchdog παρουσιάζει μια άλλη εξαιρετική προσέγγιση για την επαναφορά της πλακέτας Arduino.
Αυτή η τεχνική χρησιμοποιεί τη βιβλιοθήκη παρακολούθησης για να επαναφέρει το Arduino εάν το πρόγραμμα δυσλειτουργεί.
Ο κατασκευαστής τσιπ AVR υποστηρίζει αυτή τη μέθοδο, καθιστώντας την κορυφαία επιλογή για επαναφορές Arduino.
Για να ενεργοποιήσετε το χρονόμετρο παρακολούθησης, συμπεριλάβετε το αρχείο κεφαλίδας.
Στη συνέχεια, ενεργοποιήστε ένα χρονόμετρο, που κυμαίνεται από 15 χιλιοστά του δευτερολέπτου έως 8 δευτερόλεπτα, ανάλογα με τις ανάγκες σας.
Για παράδειγμα, για να δημιουργήσετε ένα χρονόμετρο 30 δευτερολέπτων, γράψτε wdt enable(WDTO_30ms).
Μπορείτε να αντικαταστήσετε το "30ms" με την επιθυμητή διάρκεια. Το χρονόμετρο επαναφέρει τον μικροελεγκτή εάν το πρόγραμμα διαρκεί περισσότερο από το αναμενόμενο.
Ας υποθέσουμε ότι το κύριο πρόγραμμα απαιτεί 40 ms. ο χρονοδιακόπτης παρακολούθησης έχει ρυθμιστεί για επαναφορά του μικροελεγκτή εάν υπερβαίνει τα 40 ms.
Εάν το πρόγραμμα λειτουργεί σωστά, ο χρονοδιακόπτης παρακολούθησης επαναφέρει πριν χτυπήσει το μηδέν.
Ωστόσο, εάν το πρόγραμμα παγιδευτεί σε έναν βρόχο και αποτύχει να επαναφέρει το χρονόμετρο παρακολούθησης, το Arduino επαναφέρει μέσω μιας διακοπής.
Σχόλια
Δημοσίευση σχολίου