Stap 5: Code optimalisatie
Mijn eerste versie heeft Arduino API gebruikt en ik kreeg ongeveer 150Hz voor
sinus met 120 stappen - laatste optimalisatie ging tot 5, 6KHz. Ik heb gebruikt van interrupts aan omgaan met ingang van de knoppen, directe toegang tot het register, verwijderd van alle geen onnodige methodeaanroepen, omvang voor een variabelen - zoals van 16 tot 8bits gereduceerd en ten slotte uitgewisseld drijvende punten met gehele getallen.
Er is altijd een afweging - leesbaarheid van code was gedaald, directe toegang tot registers is ook lastig, omdat ze kunnen worden gebruikt voor verschillende voorstellen. Arduino API zorgt ervoor dat al deze problemen, maar het moet een paar extra cycli van CPU.