Category

Optimierung des Codes für PWM-Effizienz

Für einige Projekte ist es in Ordnung, einen Mikrocontroller zu haben, der twiddling ist, sondern viele der Daumen. Wenn ein Projekt erforderlich ist, dass die CPU immer wieder nur eines zu tun hat, gibt es keinen Verlust mit ineffizienter Code – es funktioniert entweder oder es ist nicht. Wenn jedoch ein Projekt einen Mikrocontroller benötigt, um mehrere Dinge auf einmal zu tun, wie Lesesensoren, Dimm-LEDs und Schreib-Seriendaten, kann die CPU-Auslastung zu einem Problem werden. [Robert] war nicht mit dem Code zufrieden, den er zur Steuerung einer Saite von LEDs, sodass er seinen Code beitreten, nicht zufrieden war. Mit der alten Implementierung verwendete [Robert]-Code 60% der CPU-Zeit. Mit dem neuen und verbesserten Code war die CPU nur 8% der Zeit beschäftigt.

Der Code funktioniert mithilfe eines Hardwaretimers, um einen Interrupt abzubauen. Nach der Berechnung des nächsten Zeitpunkts wird es erneut ausgeführt, und den Status der Datenleitung ändern, sitzt der Code einfach leise, bis er erneut benötigt wird.

Es ist kein hübscher Hack, oder sogar eines, den Sie in Ihren Händen halten können, aber [Robert] ist die Entschlossenheit, ein μc zu bekommen, um zu tun, was er will, ist bewundernswert.