-
-
Erfahrener Benutzer
Robotik Einstein
Das Programm errechnet dir die Interrupts pro Sekunde und bei jedem Interrupt wird der Ausgang umgeschaltet. D.H. für eine Periode einer Rechteckfrequent benötigst du 2 Interrupts.
D.h. bei deinen errechneten 10 kHz handelt es sich tatsächlich nur um 5 kHz und gemessen sind es 4,3 kHz.
Bei deinen 30 kHz handelt es sich um 15 kHz und du misst 10 kHz.
Fast 20% bzw. 50% Fehler ist natürlich immer noch zu viel.
Könnte es sein, dass dem Controller bei den relativ hohen Frequenzen zu wenig Zeit bleiibt sich um andere Dinge zu kümmern? Bei 30kHz bleiben schliesslich nur knapp 130 Takte zwischen den Interrupt und hier ist der Fehler erheblich grösser als bei 10 kHz, wo ihm knapp 400 Takte zwischen den Interrupts bleiben.
Dass Bascom den Code nicht ganz so effektiv gestaltet wie man ihn per Hand in Assmbler schreiben kann wurde ja in einem anderen Thread schon mal ausprobiert. Wer weiss was Bascm den Cotroller zwischen den Interrupts alles anstellen lässt.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen