Ajatteleminen IDE: n ulkopuolella nopea laskenta Arduino

[Udo Klein] otti vaikeuden laskea mahdollisimman nopeasti Arduino-aluksella. Quest edellyttää hakea lyhyitä leikkauksia, joiden avulla hän ajaa 20-bittinen laskuri mahdollisimman nopeasti varaston laitteiston avulla. Kuitenkin saalis on, että Arduinon tunnelmalla on jonkin verran yläpuolella, mikä hidastaa asioita alas. Hän tarkastelee kullekin näistä tienpaisteista, sitten näyttää yhden tavan päästä heidän ympärilleen.

Koodi käyttää komentoa, jota emme yleensä näe modernissa C sulautettua ohjelmointia; Goto-lausunto. Hän käyttää tätä ohittamaan ARDUINON sisäänrakennetun silmukan () -toiminnon käyttämät ylimääräiset syklien. Ainoa käsky, joka toimii hänen hakkeroituna silmukassa, on syvästi sisäkkäinen makroja. He vaihtoivat lähtötappien käyttämällä AVR-sirulle rakennettuja laitteita XOR. Tämä koskee suoraan rekistereitä ja siten kaataa digitaalikirjojen () toiminnan hidastumisen.

Tuloksena on ohjelmistolaskuri, joka vaihtaa lähtövalot (katso leikkeen tauon jälkeen) noin 98,9% laitteistokellon nopeudesta. Melko vaikuttava, mutta [UDO] luvut hän voi tehdä siitä vain vähän nopeammin vielä.

Leave a Reply

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