Hast Du die Fusebits denn auch auf 4Mhz eingestellt?
Nur die $Crystal-Direktive alleine reicht nicht!
Und 1 addieren: Entweder Variable=Variable+1 oder INCR Variable...
Grüße
Torsten
Hallo,
ich habe ein kleines Problem bei meinem Code.
Und zwar arbeitet der Mega8 sehr langsam bei einer Frequenz von 4MHz.
Selbst bei einem Wait von "1" braucht er mehrere Sekunden um fortzufahren. wenn kein Wait eingefügt rennt er wie verrückt.
Der Code stellt Blinkende bzw. laufende LEDs dar.
zugleich könntet ihr mir veraten wie ich zu einer variable +1 rechne
Danke im Voraus
Carsten
Code:$regfile = "m8def.dat" $crystal = 4000000 Enable Interrupts 'einschalten Der Interrupts Enable Int0 'einschalten Von Interrupt Int0 Config Int0 = Low Level 'configuriere Int0 Auf Low Level On Int0 Keypress 'springe zu Keypress Dim Up As Bit Dim Count As Byte Dim Action As Byte Config Portc = Input Config Portb = Output Portb = &B111111111 Do If Action = 1 Then If Up = 0 Then Rotate Portb , Left Wait 1 End If If Up = 1 Then Rotate Portb , Right Wait 1 End If If Count = 1 Then Up = 0 End If If Count = 0 Then Up = 1 End If End If If Action = 2 Then Rotate Portb , Left Wait 1 End If Loop Keypress: If Pinc.0 = 0 Then Action = 1 Count = 1 Up = 0 Portb = &B1111110 Elseif Pinc.1 = 0 Then Action = 2 Portb = &B1010101 Elseif Pinc.2 = 0 Then Action = 3 End If Return
Hast Du die Fusebits denn auch auf 4Mhz eingestellt?
Nur die $Crystal-Direktive alleine reicht nicht!
Und 1 addieren: Entweder Variable=Variable+1 oder INCR Variable...
Grüße
Torsten
Variable = Variable + 1zugleich könntet ihr mir veraten wie ich zu einer variable +1 rechne Zwinkern
Wie TorstenG schon angedeutet hat - guck mal wieviele Sekunden. Wenns 4 sind, ist die Antwort einfach - Bascom nehmen, F4 drücken und losfusen. Okay, das war ein Scherz, da muss man höllisch aufpassen. Du musst den Crystal auf 4Mhz Internal OScillator oder so in der Art umstellen.
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!
http://de.youtube.com/watch?v=qV1cZ6jUeGE
hmm komisch :-P
Zaehler=Zaehler+1
geht nun, vorher wollt des irgendwie net
Joar Fulse hab ich jetzt auf 4MHz hoch.
Is zwar noch immer was langsam mit Wait 1 aber nagut reicht grad so.
Noch mal danke
Mfg Carsten
Die internen haben schonmal einige Ungenauigkeiten, aber nix, was so auffallen dürfte. Was heißt denn geht grad so? Das er mit wait 1 ne Sekudne wartet ist logggisch, oder?
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!
http://de.youtube.com/watch?v=qV1cZ6jUeGE
Allerdings weiß ich das ,
aber wie ich des seh kann ma net kürzer warten lassen als 1ms
Carsten
Da musst du hingehen und dir selbst nen Timer basteln. doch, es geht! Wenn ich mir angucke, das bei einem tatsächlichem Quarz von 1Mhz und eingestelltem Quarz von 4Mhz die länge aller Wartezeiten 4 mal so groß ist, müsste man mit 4Mhz reality und 1 Mhz gecodet ein Viertel aller zeiten erreichen können. Das heißt, du kannst im Minimum 1/16 Millisekunde warten.
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!
http://de.youtube.com/watch?v=qV1cZ6jUeGE
Mach doch
waitms XXX
Dann ist das schneller.
MfG & THX
Lordcyber
Alias Michael
OK, danke!
Werd ich mal probieren.
Lesezeichen