10 slimme manieren om ideeën voor een digitaal product te genereren Digital Electronics Denken buiten de IDE om een ​​snel tellende Arduino

Denken buiten de IDE om een ​​snel tellende Arduino

[Udo Klein] te maken, nam de moeilijkheid om zo snel mogelijk te tellen met behulp van een Arduino-bord. De Quest betreft een zoektocht naar short-cuts die hem zo snel mogelijk een 20-bits teller laten rijden met behulp van de voorraadhardware. Maar de vangst is dat de arduino-sfeer wat overhead op de achtergrond loopt die dingen zal vertragen. Hij kijkt in elk van deze weghompels, laat dan een manier zien om omheen te komen.

De code gebruikt een opdracht die we gewoonlijk zien in moderne C ingebedde programmering; de GOTO-verklaring. Hij gebruikt dit om de extra cycli te omzeilen die worden gebruikt door de in-bebouwde lus () -functie van de Arduino’s. Het enige commando dat binnen zijn gehackte lus wordt uitgevoerd, is een diep geneste set van macro’s. Ze schakelen uitgangspennen met behulp van de hardware XOR ingebouwd in de AVR-chip. Dit gaat rechtstreeks aan op de registers en dumpt daardoor de vertraging door de functie DigitalWrite ().

Het resultaat is een softwareteller die de uitgangslichten schakelt (zie de clip na de pauze) op ongeveer 98,9% van de hardwarekloksnelheid. behoorlijk indrukwekkend, maar [UDO] -cijfers die hij het nog een beetje sneller kan maken.

Leave a Reply

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