Κοινή χρήση τεχνολογίας

04 OLED εισαγωγή και μέθοδοι εντοπισμού σφαλμάτων

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Λειτουργία εντοπισμού σφαλμάτων

Εισαγάγετε την περιγραφή της εικόνας εδώ
Ο υπολογιστής μπορεί να εκτυπώσει οποιεσδήποτε μεταβλητές θέλει να δει απευθείας στην οθόνη, αλλά οι υπολογιστές με ένα τσιπ συχνά δεν έχουν ισχυρή αξιολόγηση λόγω περιορισμών στο κόστος και στη δομή του κυκλώματος.
Ακριβώς όπως η εκμάθηση της γλώσσας C, δεν υπάρχει τρόπος να μάθετε χωρίς τη λειτουργία printf. Χρειάζεστε λοιπόν ένα εργαλείο εντοπισμού σφαλμάτων.

Σειριακή αποσφαλμάτωση

Ο εντοπισμός σφαλμάτων σειριακής θύρας είναι πολύ συνηθισμένος Η χρήση μιας σειριακής θύρας για τη σύνδεση ενός μικροελεγκτή σε έναν υπολογιστή ισοδυναμεί με την ανάρτηση της οθόνης του υπολογιστή στον μικροελεγκτή, η οποία διευκολύνει τον μικροελεγκτή να εμφανίζει πληροφορίες εντοπισμού σφαλμάτων Κατά το σχεδιασμό του PCB για εντοπισμό σφαλμάτων προγραμμάτων (το πλεονέκτημα είναι ότι μπορεί Με τη βοήθεια ενός ισχυρού υπολογιστή για εντοπισμό σφαλμάτων, το λογισμικό στον υπολογιστή μπορεί όχι μόνο να εμφανίζει μεμονωμένες παραμέτρους, αλλά και να εμφανίζει καμπύλες, γραφικά, εικόνες κ.λπ. Μπορείτε επίσης να φτιάξετε το δικό σας λογισμικό για να επιτύχετε ισχυρές λειτουργίες αλληλεπίδρασης με τον χρήστη) (Το μειονέκτημα είναι ότι πρέπει να σύρετε τον υπολογιστή και ο συνηθισμένος βοηθός σειριακής θύρας μπορεί να παρουσιάζει δεδομένα μόνο με τη μορφή ροής πληροφοριών, δηλαδή μπορεί να εκτυπώνει μόνο γραμμή προς γραμμή. Εάν υπάρχει πολλά μεταβαλλόμενα δεδομένα που πρέπει να εμφανιστούν, τότε μπορούν να εμφανιστούν στον υπολογιστή μόνο σύροντας την οθόνη)

Εμφάνιση εντοπισμού σφαλμάτων

Το πλεονέκτημα του εντοπισμού σφαλμάτων της οθόνης είναι ότι τα δεδομένα που αλλάζουν μπορούν να αντικατασταθούν και να ανανεωθούν, και η οθόνη μπορεί πάντα να συνδεθεί με τον μικροελεγκτή ότι Είναι πιο εύκολο να χρησιμοποιήσετε την οθόνη ως μέρος του προϊόντος (το μειονέκτημα είναι ότι η οθόνη είναι πολύ μικρή και το περιεχόμενο της οθόνης είναι περιορισμένο)
Η οθόνη μπορεί να χρησιμοποιηθεί για εντοπισμό σφαλμάτων και η λειτουργία του προγράμματος οδήγησης θα συζητηθεί αργότερα.Αρχικά αντιμετωπίστε το OLED ως μονάδα εντοπισμού σφαλμάτων προγράμματος

Άλλες μέθοδοι εντοπισμού σφαλμάτων

Υπάρχει επίσης μια μέθοδος εντοπισμού σφαλμάτων φωτισμού Εάν δεν γνωρίζετε πού εκτελείται το πρόγραμμα, μπορείτε να βάλετε έναν κωδικό φωτισμού σε αυτήν τη θέση.
Μέθοδος εντοπισμού σφαλμάτων σχολίου, εάν το πρόγραμμα ήταν αρχικά καλό, αλλά πέθανε μετά την προσθήκη ενός συγκεκριμένου προγράμματος, μπορείτε να αφαιρέσετε όλα τα σχόλια που προστέθηκαν πρόσφατα, να το επαναφέρετε στην κανονική κατάσταση λειτουργίας και, στη συνέχεια, να αφαιρέσετε το σχόλιο γραμμή προς γραμμή μέχρι να εμφανιστεί το σφάλμα ή να σχολιάσετε ένα μέρος για να δοκιμάσετε ένα άλλο τμήμα, μειώστε το τμήμα του προγράμματος που εκτελείται και εντοπίστε το προβληματικό πρόγραμμα.
Χρησιμοποιήστε τη μέθοδο σύγκρισης για να βρείτε ένα πρόγραμμα που δεν έχει πρόβλημα και σταδιακά αντικαταστήστε τη λογική του προγράμματος με τη λογική του προγράμματος σας.

Συνοψίζω:

Βασικές ιδέες των διαδικασιών δοκιμής: περιορισμός του πεδίου εφαρμογής, έλεγχος μεταβλητών, συγκριτικός έλεγχος κ.λπ.

OLED

Εισαγωγή

Εισαγάγετε την περιγραφή της εικόνας εδώ
Κάθε pixel της OLED είναι μια ξεχωριστή δίοδος εκπομπής φωτός, ενώ η οθόνη LCD απαιτεί οπίσθιο φωτισμό, επομένως εξοικονομεί σχετικά ενέργεια.
Η γρήγορη ταχύτητα απόκρισης επιτρέπει στην OLED να έχει υψηλότερο ρυθμό ανανέωσης
Ο γρήγορος χρονισμός διαύλου μπορεί επίσης να αποφύγει τον αποκλεισμό προγραμμάτων
Ευρεία γωνία θέασης: Επειδή το OLED είναι αυτόφωτο, το περιεχόμενο της οθόνης είναι καθαρό από οποιαδήποτε γωνία.

Η οδήγηση αυτής της απλής OLED απαιτεί μόνο λίγα καλώδια και καταλαμβάνει σχετικά λίγους πόρους.

Τα χρώματα των εικονοστοιχείων περιλαμβάνουν: λευκό, μπλε, κίτρινο και μπλε (1/4 είναι κίτρινο, 3/4 μπλε, δεν είναι πραγματικό δίχρωμο, αλλά σταθερό σε διαφορετικές περιοχές, κατάλληλο για τη δημιουργία μιας διεπαφής που χρειάζεται να εμφανίζει γραμμή τίτλου)

Κύκλωμα υλικού

Εισαγάγετε την περιγραφή της εικόνας εδώ
Το pin 4 χρησιμοποιεί γενικά το πρωτόκολλο IIC και το pin 7 χρησιμοποιεί γενικά το πρωτόκολλο SPI.

Λειτουργία προγράμματος οδήγησης OLED

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εάν οι ακίδες STM32 δεν έχουν αρχικοποιηθεί, από προεπιλογή έχουν τη λειτουργία κινητής εισόδου.

Για να χρησιμοποιήσετε αυτήν τη μονάδα OLED, χρειάζεται μόνο να αλλάξετε τις ακίδες, καθώς και τα περιφερειακά και τα ρολόγια που χρησιμοποιούν τις ακίδες.
Εισαγάγετε την περιγραφή της εικόνας εδώ

Το αρχείο OLED_FONT.h αποθηκεύει τα δεδομένα γραμματοσειράς του OLED Επειδή η οθόνη εμφάνισης OLED δεν έχει γραμματοσειρά, επομένως εάν θέλετε να εμφανίσετε γραφικά χαρακτήρων, πρέπει πρώτα να ορίσετε τα δεδομένα του πίνακα κουκίδων των χαρακτήρων, ώστε να αποθηκεύεται ο πίνακας κουκκίδων. των χαρακτήρων (γραμματοσειρά)
Η γλώσσα C δεν μπορεί να γράψει δυαδικούς αριθμούς και μπορεί να χρησιμοποιήσει μόνο δεκαεξαδική γλώσσα, ως γλώσσα προγραμματισμού υπολογιστών χαμηλού επιπέδου, επιπλέον, η γλώσσα C πρέπει να μεταφραστεί σε γλώσσα συναρμολόγησης. εισαγω. Αλλά αυτός μπορεί να είναι ο κανόνας.

λειτουργία εντοπισμού σφαλμάτων keil

Μέθοδος εισόδου

Εισαγάγετε την περιγραφή της εικόνας εδώ
Η επιλογή του έργου Debug μπορεί να διαμορφώσει τις επιλογές εντοπισμού σφαλμάτων Η προεπιλεγμένη επιλογή είναι αυτή στα δεξιά για την ηλεκτρονική προσομοίωση στο υλικό που πρέπει να συνδεθεί με τον μικροελεγκτή.
Το ένα στα αριστερά χρησιμοποιεί έναν εξομοιωτή, έτσι ώστε ο υπολογιστής να προσομοιώνει τη λειτουργία του μικροελεγκτή.
Πριν από την προσομοίωση, βεβαιωθείτε ότι δεν υπάρχουν προβλήματα με τη μεταγλώττιση του έργου (εάν υπάρχουν προβλήματα, επιλύστε τα πρώτα)

Κάντε κλικ στο "κόκκινο d" για να εισέλθετε στη λειτουργία εντοπισμού σφαλμάτων Εάν το STLINK δεν είναι συνδεδεμένο, θα αναφερθεί ένα σφάλμα.
Εισαγάγετε την περιγραφή της εικόνας εδώ

Παράθυρο διεπαφής εντοπισμού σφαλμάτων keil

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εάν χρησιμοποιείτε προγραμματισμό συναρμολόγησης για να προγραμματίσετε την ομάδα καταχωρήσεων και τις σημαίες κατάστασης, πρέπει να τις κατανοήσετε πολύ καθαρά.
Εάν χρησιμοποιείτε γλώσσα C, τότε δεν χρειάζεται να ανησυχείτε για αυτά.

Εισαγάγετε την περιγραφή της εικόνας εδώ

Απλή περιγραφή λειτουργίας

Αυτό το μέρος είναι έλεγχος εκτέλεσης προγράμματος
1. Επαναφορά 2. Εκτέλεση σε πλήρη ταχύτητα 3. Διακοπή λειτουργίας σε πλήρη ταχύτητα 4. Λειτουργία με ένα βήμα 5. Παράβλεψη της τρέχουσας γραμμής και εκτελέστε ένα βήμα 6. Μεταβείτε από την τρέχουσα λειτουργία και εκτελέστε ένα βήμα 7. Μεταβείτε στην καθορισμένη γραμμή από τον κέρσορα και εκτελέστε ένα βήμα

Εισαγάγετε την περιγραφή της εικόνας εδώ
Το κίτρινο βέλος υποδεικνύει την επόμενη γραμμή κώδικα που θα εκτελεστεί και το μπλε βέλος υποδεικνύει τη γραμμή όπου βρίσκεται ο δρομέας.
Εισαγάγετε την περιγραφή της εικόνας εδώ
Κάντε κλικ στη σκούρα γκρίζα περιοχή στα αριστερά για να ορίσετε ένα σημείο διακοπής, και το πρόγραμμα θα συνεχίσει να εκτελείται μέχρι να σταματήσει το σημείο διακοπής, τότε το πρόγραμμα δεν θα σταματήσει αυτόματα. και πρέπει να κάνετε κλικ στο κουμπί Διακοπή, το πρόγραμμα θα σταματήσει,

Εισαγάγετε την περιγραφή της εικόνας εδώ
Κάντε κλικ στο RST για επαναφορά και το πρόγραμμα θα επιστρέψει στην αρχή. Μπορείτε να δείτε ότι το πρόγραμμα βρίσκεται στη λειτουργία διακοπής επαναφοράς, υποδεικνύοντας ότι το πρόγραμμα ξεκινά να εκτελείται από εδώ μετά την επαναφορά.

Πρώτα, το πρόγραμμα θα μεταβεί στη συνάρτηση SystemInit και, στη συνέχεια, η συνάρτηση θα εκτελεστεί στην κύρια συνάρτηση.

Αυτή η προσέγγιση μας επιτρέπει να παρακολουθούμε ακριβώς πώς εκτελείται το πρόγραμμά μας. Μπορείτε να εξερευνήσετε πώς εκτελείται η λειτουργία βήμα προς βήμα σε αυτήν τη λειτουργία. Με αυτόν τον τρόπο, η λογική κατανόηση του προγράμματος θα είναι βαθύτερη.

Αυτή είναι μια απλή λειτουργία στη λειτουργία εντοπισμού σφαλμάτων Υπάρχουν πιο ισχυρές λειτουργίες στη λειτουργία εντοπισμού σφαλμάτων.

Πιο ισχυρές λειτουργίες

Εισαγάγετε την περιγραφή της εικόνας εδώ
Το πρώτο είναι το παράθυρο εντολών, το οποίο μπορεί να ανοίξει και να κλείσει
Εισαγάγετε την περιγραφή της εικόνας εδώ
Δεύτερο παράθυρο αποσυναρμολόγησης
Το τρίτο παράθυρο συμβόλων σάς επιτρέπει να προβάλλετε τις τιμές όλων των μεταβλητών του προγράμματος σε πραγματικό χρόνο
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εάν θέλετε να δείτε τις αλλαγές στην τιμή της δομής, μπορείτε να κάνετε δεξί κλικ και να την προσθέσετε στο παράθυρο Watch1.
Εισαγάγετε την περιγραφή της εικόνας εδώ
Κάντε κλικ σε ένα βήμα για εκτέλεση και μπορείτε να δείτε τις αλλαγές στις τιμές των μεταβλητών, κάτι που είναι πολύ βολικό.

Υπάρχει επίσης οθόνη σειριακής θύρας
Εισαγάγετε την περιγραφή της εικόνας εδώ
λογικός αναλυτής
Εισαγάγετε την περιγραφή της εικόνας εδώ
Περιμένετε, μπορείτε να αφιερώσετε χρόνο για να μάθετε περισσότερα για αυτό μόνοι σας

Μπορείτε επίσης να κάνετε κλικ στο περιφερειακό μενού και να προβάλετε τους πόρους του συστήματος για να δείτε όλους τους καταχωρητές περιφερειακών.
Εισαγάγετε την περιγραφή της εικόνας εδώ
Για παράδειγμα, εάν επιλέξετε GPIOA, όλα τα μητρώα των περιφερειακών GPIOA θα εμφανιστούν στα δεξιά.
Εισαγάγετε την περιγραφή της εικόνας εδώ

Κατά τη διάρκεια του εντοπισμού σφαλμάτων, το STM32 εκτελεί επίσης το πρόγραμμα σε πραγματικό χρόνο, όταν το σημείο προσομοίωσης σταματά να εκτελείται. Η λειτουργία εντοπισμού σφαλμάτων στο διαδίκτυο εξακολουθεί να είναι πολύ ισχυρή. Μπορείτε επίσης να ελέγξετε την έναρξη, τη διακοπή και τη λειτουργία ενός βήματος του προγράμματος ανά πάσα στιγμή. Όταν αντιμετωπίζετε ένα πρόγραμμα που είναι δύσκολο να προσαρμοστεί, για παράδειγμα, δεν γνωρίζετε πώς εκτελείται το πρόγραμμα ή θέλετε να δείτε πολλές μεταβλητές αλλά δεν είναι βολικό να τις εμφανίσετε ή θέλετε να δείτε αν ο καταχωρητής Οι τιμές έχουν ρυθμιστεί σωστά, μπορείτε να χρησιμοποιήσετε το keil για αυτόματα Με τη λειτουργία εντοπισμού σφαλμάτων. Εάν τροποποιήσετε το πρόγραμμα, δεν μπορείτε να το τροποποιήσετε απευθείας στη λειτουργία εντοπισμού σφαλμάτων Για να τροποποιήσετε το πρόγραμμα, πρέπει πρώτα να βγείτε από τη λειτουργία εντοπισμού σφαλμάτων, να κάνετε εκ νέου μεταγλώττιση και μετά να εισέλθετε στη λειτουργία εντοπισμού σφαλμάτων.

Περισσότερες λειτουργίες του keil περιμένουν περισσότερη εξερεύνηση.
Εισαγάγετε την περιγραφή της εικόνας εδώ
Η Help ανοίγει το επίσημο έγγραφο βοήθειας, το οποίο έχει την πιο έγκυρη και λεπτομερή εισαγωγή και έχει περισσότερες μαύρες τεχνολογίες σχετικά με τον τρόπο χρήσης του keil.