Probiers mal prinzipiell damit, habs kurz umgeschrieben, muß man aber anpassen. Die Freuenz ist auch nicht linear da T = 1 / f ist. Kannst aber anders schreiben und es ist auch linear.
Grüße WolfgangCode:$RegFile = "m8def.dat" ' ATMEGA8L8 $Crystal = 3686400 ' 3,68MHz intern ' Port AVR: Stepperantrieb ' --------- --------- ' ' PD2 ---------> Enable ' PD3 ---------> Dir ' PD4 ---------> Clock ' Stpk03Enable Alias PortD.2 Stpk03Dir Alias PortD.3 Stpk03Clock Alias PortD.4 Taster1 Alias PinD.6 Taster2 Alias PinD.7 DDRD = &B00011100 PortD = &B11000000 Dim i As Integer Dim k As Integer '1,8,64,256,1024 Config Timer0 = Timer , Prescale = 1024 Enable Timer0 On Timer0 DoStep Enable Interrupts Stpk03Enable = 1 Stpk03Dir = 1 i = 0 Do Do i = i + 1 k = i WaitMs 50 Loop Until k = 255 WaitMs 5000 Do i = i - 1 k = i WaitMs 50 Loop Until i = 0 WaitMs 10000 Loop DoStep: If k = 0 Then Stpk03Enable = 0 Else Stpk03Enable = 1 End If Timer0 = k Stpk03Clock = Not Stpk03Clock Return







Zitieren

Lesezeichen