waldi
11.10.2004, 21:26
Hallo.
Habe in Bascom folgendes Prog geschrieben:
$regfile = "M16DEF.dat"
$crystal = 16000000
Config Portc = Output
Do
Set Portc.0
Reset Portc.0
Loop
End
Der Controller läuft auf einem STK500 Board mit 16MHz. Theoretisch sollte die Frequenz am Portc.0 max. 16MHz betragen. Berücksichtigt man jedoch, daß die Do-Loop-Schleife einiges an Rechenzeit benötigt (in ASM würde ich mit ca. 4 Taktzyklen rechnen?), so bliebe immer noch eine Frequenz von etwa 2-4MHz übrig. Liege ich da etwa soooo falsch? Interessant wäre eine Aufstellung der benötigten Taktzyklen der Bascombefehle. Ich erhielt nämlich lediglich eine Ausgangsfrequenz von etwa 500kHz... (abgesehen davon, daß das Tastverhältnis alles andere als 50% betrug). Für die Aufgabe, die ich dem ATMega16 geben möchte, eine Lageregelung, reicht das leider nicht aus, da "zwischendurch" ein PID-Algorithmus und eine ADC beackert werden muß.
Habe in Bascom folgendes Prog geschrieben:
$regfile = "M16DEF.dat"
$crystal = 16000000
Config Portc = Output
Do
Set Portc.0
Reset Portc.0
Loop
End
Der Controller läuft auf einem STK500 Board mit 16MHz. Theoretisch sollte die Frequenz am Portc.0 max. 16MHz betragen. Berücksichtigt man jedoch, daß die Do-Loop-Schleife einiges an Rechenzeit benötigt (in ASM würde ich mit ca. 4 Taktzyklen rechnen?), so bliebe immer noch eine Frequenz von etwa 2-4MHz übrig. Liege ich da etwa soooo falsch? Interessant wäre eine Aufstellung der benötigten Taktzyklen der Bascombefehle. Ich erhielt nämlich lediglich eine Ausgangsfrequenz von etwa 500kHz... (abgesehen davon, daß das Tastverhältnis alles andere als 50% betrug). Für die Aufgabe, die ich dem ATMega16 geben möchte, eine Lageregelung, reicht das leider nicht aus, da "zwischendurch" ein PID-Algorithmus und eine ADC beackert werden muß.