Βελτιστοποίηση του κώδικα για την απόδοση PWM

για ορισμένα έργα, είναι εντάξει να έχετε ένα μικροελεγκτή δίδυμο να περάσει τους αντίχειρες πολλές φορές. Όταν ένα έργο απαιτεί από την CPU να κάνει μόνο ένα πράγμα ξανά και ξανά, δεν υπάρχει απώλεια με αναποτελεσματικό κώδικα – είτε λειτουργεί είτε δεν το κάνει. Ωστόσο, εάν ένα έργο απαιτεί ένα μικροελεγκτή να κάνει πολλά πράγματα ταυτόχρονα, όπως οι αισθητήρες ανάγνωσης, τα LED Dimming και η γραφή σειριακών δεδομένων έξω, η χρήση της CPU μπορεί να γίνει ένα ζήτημα. [Robert] δεν ήταν ευχαριστημένος με τον κώδικα που έκανε τον έλεγχο μιας σειράς LED, οπότε ξαναγράφηκε τον κώδικα του. Με την παλιά εφαρμογή, ο κώδικας του Robert] χρησιμοποίησε το 60% του χρόνου CPU. Με τον νέο και βελτιωμένο κώδικα, η CPU ήταν απασχολημένη μόνο το 8% του χρόνου.

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

Δεν είναι ένα όμορφο hack, ή ακόμα και ένα που μπορείτε να κρατήσετε στα χέρια σας, αλλά [Robert] αποφασιστικότητα να πάρει ένα μC να κάνει ό, τι θέλει είναι αξιοθαύμαστο.

Leave a Reply

Your email address will not be published. Required fields are marked *