Stap 4: Frequentie aanpassing
Er is een kleine vangst... één druk op de frequentie omhoog niet
nodig wijzigt de frequentie door één hertz, maar het verandert de hoeveelheid verspild CPU cycli per stap... Ik zal proberen dit uit te leggen vanaf het begin:
zoals u herinneren wij genereren wave door gaan over vooraf berekende tafel - elke byte in deze tabel wordt toegewezen aan PORTD en dit gebeurt binnen een honkslag "stap". Om het plot golf die we moeten gaan over de hele tabel, zodra we klaar bent, moeten we beginnen vanaf het begin. Om te veranderen van frequentie, we moeten veranderen van tijd voor elke stap - dit is de enige mogelijkheid proportioneel omhoog aan schaal hij hele golf. De kleinste hoeveelheid vertraging in ons geval is de interne werking van de CPU - het heet NOP en duurt 1327 nano-seconden - NOP zelf is sneller, maar ik heb ook overwogen tijd die nodig is om een methode te roepen.
Voor voorbeeld één periode van sinus bestaat uit 120 stappen, toenemende vertraging door een, één NOP bewerking aan elke stap toevoegen zou, wat betekent dat één periode extra 120 * 1327ns zou nemen.
Het goede nieuws is, dat het LCD-scherm altijd displays juiste frequentie in hertz, alleen omhoog en omlaag te drukken verandert het door enkele hertz. De onderste regel van het LCD-scherm toont periode tijd in nano-seconden.