Πίνακας περιεχομένων:
Βίντεο: Serial Debugging With CloudX: 3 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σε αυτό το έργο, στοχεύω στην εξήγηση της έννοιας του εντοπισμού σφαλμάτων μέσω του σειριακού τερματικού. Αλλά πρώτα ως αρχή, ας εξηγήσουμε την έννοιά του μέσα από τα νοήματά του.
1. σειριακή επικοινωνία
η σειριακή επικοινωνία είναι για επικοινωνία μεταξύ της πλακέτας CloudX και ενός υπολογιστή ή άλλων συσκευών. Όλοι οι πίνακες CloudX διαθέτουν τουλάχιστον μία σειριακή θύρα (γνωστή και ως UART ή USART): Serial. Επικοινωνεί σε ψηφιακή ακίδα RX και TX με άλλες συσκευές σκληρού υλικού ή σειριακές μονάδες επικοινωνίας (όπως gsm και gps) όπως και με τον υπολογιστή μέσω USB χρησιμοποιώντας τη SoftCard. Έτσι, εάν χρησιμοποιείτε αυτές τις λειτουργίες, δεν μπορείτε επίσης να χρησιμοποιήσετε TX και RX για ψηφιακή είσοδο ή έξοδο. Μπορείτε να χρησιμοποιήσετε την ενσωματωμένη σειριακή οθόνη του περιβάλλοντος CloudX για επικοινωνία με μια πλακέτα CloudX. Κάντε κλικ στο κουμπί σειριακής οθόνης στη γραμμή εργαλείων και επιλέξτε τον ίδιο ρυθμό baud που χρησιμοποιείται στην παράμετρο που καλείται στο serialBegin ().
2. Εντοπισμός σφαλμάτων
Ο εντοπισμός σφαλμάτων σημαίνει απλώς τον εντοπισμό και την αφαίρεση σφαλμάτων από (υλικό ή λογισμικό υπολογιστή). Ο εντοπισμός σφαλμάτων περιλαμβάνει τον εντοπισμό και τη διόρθωση σφαλμάτων κώδικα σε ένα πρόγραμμα υπολογιστή. Η εντοπισμός σφαλμάτων είναι μέρος της διαδικασίας δοκιμής λογισμικού και αποτελεί αναπόσπαστο μέρος ολόκληρου του κύκλου ζωής ανάπτυξης λογισμικού. Ας πάρουμε για παράδειγμα ότι ο κωδικός σας έχει μεταγλωττιστεί με επιτυχία και δοκιμάζετε το υλικό σας και δεν λειτουργεί όπως αναμενόταν, αν και υπάρχουν πολλοί τρόποι για να διορθώσετε τον κωδικό σας. ένας απλός και αποτελεσματικός τρόπος εντοπισμού σφαλμάτων είναι μέσω της χρήσης σειριακού εντοπισμού σφαλμάτων. Το CloudX IDE δημιουργεί 2 τύπους αρχείων σε επιτυχημένη συλλογή, αρχείο HEX και COFF. Το αρχείο HEX είναι αυστηρά κωδικός μηχανής που είναι αυτό που εκκινείται στον πίνακα για εκτέλεση στον πραγματικό κόσμο, αλλά μπορεί επίσης να εκτελεστεί σε λογισμικά προσομοίωσης υπολογιστή σας όπως το Proteus Isis, ενώ το αρχείο COFF είναι ευανάγνωστο και εκτελέσιμο σε λογισμικά προσομοίωσης υπολογιστή (Proteus Isis) Το Για αυτό το πεδίο θα εξετάσουμε δύο βασικούς τύπους εντοπισμού σφαλμάτων σε σειριακό πρωτόκολλο,
1. Soft Serial Debugging:
Σε αυτή τη μέθοδο, κάθε δοκιμή και εντοπισμός σφαλμάτων πραγματοποιείται στον υπολογιστή μέσω κάποιου χρήσιμου λογισμικού όπως το Proteus ISIS. Επειδή το CloudX δημιουργεί βασικά αρχείο COFF, σας συνιστώ να το χρησιμοποιείτε για προσομοίωση Η / Υ γιατί με αυτό μπορείτε βασικά να περπατήσετε ανάμεσα σε γραμμές κωδικών και να διαπιστώσετε από πού προέρχεται το πρόβλημα και εάν ο κώδικάς σας πρέπει να εκτελείται χωρίς βήμα, χρησιμοποιώντας εικονικό τελικό από το "εικονικό" εργαλείο λειτουργίας οργάνου ", μπορείτε πάντα να γνωρίζετε σε ποια γραμμή λειτουργεί ο ελεγκτής ανά πάσα στιγμή. ας ρίξουμε μια ματιά σε αυτό το παράδειγμα κώδικα,
Βήμα 1:
/*
* Αρχείο: newmain.c
* Συγγραφέας: OGBOYE GODWIN * * Δημιουργήθηκε στις 28 Ιουνίου 2018, 10:15 ΠΜ */
#περιλαμβάνω
#περιλαμβάνω
/* θα κάνουμε
κόκκινο pin1 πράσινο pin2 κίτρινο pin3 *κουμπί pin4 */ char *tell = "hmmm, I have been touch"? setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, ΕΙΣΟΔΟΣ); Serial_begin (9600); βρόχος () {while (! readPin (4)); Serial_writeText (πείτε); Serial_writeText ("…. Μετακίνηση στο κόκκινο"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); καθυστερήσεις (200)? // προσπαθήστε να αφαιρέσετε το σχολιασμό κάθε καθυστέρησης και δείτε τι συμβαίνει // στη συνέχεια αντικαταστήστε τα (σίγουρα θα σας αρέσει!). ενώ (! readPin (4)); Serial_writeText (πείτε); Serial_writeText ("…. Μετακίνηση σε πράσινο"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); καθυστερήσεις (200)? // προσπαθήστε να αφαιρέσετε το σχολιασμό κάθε καθυστέρησης και δείτε τι συμβαίνει // στη συνέχεια αντικαταστήστε τα (σίγουρα θα σας αρέσει!).
ενώ (! readPin (4));
Serial_writeText (πείτε); Serial_writeText ("…. Μετακίνηση στο κίτρινο"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); καθυστερήσεις (200)? // δοκιμάστε να αφαιρέσετε το σχολιασμό όλης της καθυστέρησης και δείτε τι συμβαίνει // στη συνέχεια αντικαταστήστε τα (σίγουρα θα σας αρέσει!). }}
με αυτό μπορείτε να δείτε πόσο σημαντικός είναι ο σειριακός εντοπισμός σφαλμάτων εάν αφαιρέσετε τις καθυστερήσεις. αν το κάνατε αυτό, θα είχατε δει πόσο ενοχλητικό μπορεί να προκαλέσει αυτός ο απλός κώδικας εάν εκτελεστεί στον πραγματικό κόσμο χωρίς αυτές τις καθυστερήσεις.
Βήμα 2:
2. Αποσφαλμάτωση υλικού:
Σε αυτήν τη μέθοδο, κάθε δοκιμή και εντοπισμός σφαλμάτων πραγματοποιείται με την προσάρτηση της πλακέτας πρωτότυπου CloudX στον υπολογιστή με τη χρήση της softCard και τη χρήση είτε του σειριακού τερματικού του CloudX IDE (συνιστάται) είτε κάποιου άλλου χρήσιμου λογισμικού όπως το Proteus ISIS compim, realTerm κ.λπ. Δημιουργήστε COFF το αρχείο δεν μπορεί να χρησιμοποιηθεί εδώ επειδή αυτή η μέθοδος απαιτεί εκκίνηση HEX στο υλικό, προτείνω να το χρησιμοποιήσετε για την softcard CloudX. Λάβετε υπόψη ότι ο κωδικός σας εκτελείται χωρίς βήμα, ώστε να μπορείτε πάντα να γνωρίζετε πού είναι η γραμμή που εκτελείται ο ελεγκτής ανά πάσα στιγμή από τη σειριακή έξοδο. ας ρίξουμε μια ματιά σε αυτόν τον κώδικα με το ίδιο παράδειγμα που αναφέρθηκε παραπάνω, ρυθμίστε το υλικό σας για να μοιάζει με το κόκκινο LED --------- στο pin1 πράσινο LED --------- pin2 κίτρινο LED- ------- κουμπί pin3 --------- pin4
Βήμα 3:
βήματα
1. Χρησιμοποιήστε τον ίδιο κωδικό με τον παραπάνω
2. Εκκίνηση στον πίνακα σας
3. Ξεκινήστε το σειριακό τερματικό CloudX κάνοντας κλικ στο κουμπί "σειριακό" στη γραμμή εργαλείων
4. επιλέξτε την επιθυμητή θύρα και ρυθμό baud (9600 σε αυτό το σεμινάριο)
5. ξεκινήστε το τερματικό κάνοντας κλικ στη σύνδεση (αποσυνδέστε εάν θέλετε να κλείσετε)
6. με τη θύρα ανοιχτή/συνδεδεμένη, πατήστε στιγμιαία το κουμπί κατά βούληση και θα δείτε την σειριακή έξοδο να εμφανίζεται στα παράθυρα των τερματικών. Σημειώστε ότι εάν έχετε καθυστερήσεις στον κώδικα, θα έχετε πολλές γραμμές σειριακής εξόδου που τρέχουν τόσο γρήγορα χωρίς έλεγχο πριν αφαιρέσετε τα χέρια σας από το κουμπί. Εάν για οποιονδήποτε λόγο στον κώδικά σας, έχετε παρόμοιο ή παρόμοιο πρόβλημα, μπορείτε πάντα να χρησιμοποιήσετε αυτήν τη μέθοδο για εντοπισμό σφαλμάτων.
Συνιστάται:
USB σε Serial TTL: 3 βήματα
USB σε Serial TTL: Για ορισμένα έργα PIC μου χρειάζομαι μια σειριακή διεπαφή (RS232) για να εκτυπώσω μερικά μηνύματα στην οθόνη του υπολογιστή μου. Έχω ακόμα έναν επιτραπέζιο υπολογιστή που έχει μία διεπαφή RS232, αλλά στις μέρες μας οι περισσότεροι υπολογιστές έχουν διεπαφή USB. Μπορείτε να αγοράσετε dev
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards Αισθητήρες: 7 Βήματα
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards Αισθητήρες: O objetivo desse tutorial é mostrar as etapas need á rias para configurar o ambiente de desenvolvimento, de modo que seja poss í vel comunicar com a Dragonboard 410c atrav é s de um computador / notebook usando comunica & ccedi
Serial UDP/IP Gateway για Arduino Βασισμένο στην ασπίδα ESP8266: 8 βήματα
Serial UDP/IP Gateway για Arduino Βασισμένο στο ESP8266 Shield: Έχω ήδη δημοσιεύσει το 2016 αυτό το διδακτικό " Πώς να φτιάξετε τη δική σας πύλη Wifi για να συνδέσετε το Arduino σας με το Δίκτυο IP ". Δεδομένου ότι έκανα κάποιες βελτιώσεις κώδικα και εξακολουθώ να χρησιμοποιώ αυτήν τη λύση. Παρ 'όλα αυτά, υπάρχουν τώρα κάποιες ασπίδες ESP8266 t
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 βήματα
Conexión Serial Arduino a Processing (acelerómetro En Anillo): Μου αρέσει πολύ να επικοινωνώ με τις πληροφορίες ó n que viene por puerto serial de Arduino a Processing. Ac á les muestro la manera en que yo lo resuelvo, no es la ú nica, pero es bastante efectiva, ya que en Processing, la Recepc
Υπερηχητικό ραντάρ χρησιμοποιώντας Arduino Nano και Serial Plotter: 10 Βήματα
Ultrasonic Radar Using Arduino Nano and Serial Plotter: Σε αυτό το Instructable θα μάθουμε για τα βασικά μιας σερβο βιβλιοθήκης, καθώς και για τη ρύθμιση του αισθητήρα υπερήχων και θα τον χρησιμοποιήσουμε ως ραντάρ. η έξοδος αυτού του έργου θα είναι ορατή στη σειριακή οθόνη plotter