Hallo! Kann mir vielleicht irgendjemand mal erklären, wie in dem Code von Andreas Schwarz die Frequenzumstellung funktioniert? Ich versteh das einfach net! Wenn man z.B. den Taster "Frequenz erhöhen" drückt lädt man Werte in die Register Change1, 2 und 3. Aber das hat doch dann keinerlei Auswirkungen auf das Timerinterrupt oder die Ausgabe der Hex-Werte an den PortD. Würde mich über Hilfe freuen. Thomas
Doch und zwar hier: add z1, change1 ; Phasenakkumulator adc z2, change2 adc z3, change3 Hier wird quasi die Auflösung des Signals verändert. Je höher der Wert, desto schneller wird eine Signalperiode durchlaufen und desto höher die Frequenz. Ein Nachteil an dieser Software ist die niedrige Samplerate von 256kHz. Damit lassen sich maximal 10kHz Sinus, Dreieck und Rechteck erzeugen, oder man verwendet für jede Kurvenform einen eigenen Filter, dann geht es bei Sinus bis etwa 100kHz. Ich verwende einen eigenen uC für die Signalerzeugung und erreiche mit einem übertakteten AT90S2313 2MHz Samplerate. Dies erzeugt eine saubere Sinus, Dreieck, Sägezahn und Rechteck Kurve bis 100kHz. MIt entsprechendem Filter auch ein Sinussignal mit 1MHz...
Dann müsste doch der Inhalt von Z1, Z2 und Z3 Auswirkungen auf das Timerinterrupt haben, z.B. mit Veränderung des Compare-Wertes. Aber wo wird im Programm gesagt das die Zeitabstände zwischen den Ausgaben der Hex-Werte größer werden soll?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.