-
-
Neuer Benutzer
Öfters hier
Hallo Sauerbruch,
habe das Testprogramm wie folgt geschrieben:
$regfile = "m8def.dat"
$crystal = 16000000
$framesize = 32
$hwstack = 8
$swstack = 16
$baud = 9600
Ddrc.0 = 1
Dim Zahl As Byte
Config Timer1 = Timer
On Timer1 Isr1
Enable Timer1
Enable Interrupts
Do
If Zahl = 20 Then
Zahl = 0
Toggle Portc.0
End If
Waitms 10
Toggle Portc.0
Loop
Isr1:
Zahl = Zahl + 1
Timer1 = 15535
Return
End
Die LED war dauernd an. Dann habe ich in die Loop Waitms 10 und Toggle geschrieben und die High Fuse auf D9 und die Low fuse auf C1 gesetzt und write an der Fuse-Zeile gedrückt. D9 - C2 bis D9 - C4 ---> write und jedesmal hat die LED schneller geblinkt. Die CPU hat die Frequenzwahl also angenommen. Jetzt hat mich der Teufel geritten und ich habe die Low Fuse von C4 auf DF gesetzt ( Ext. 16 Mhz) --> write. Nun hat die LED im 10 Sec. Abstand geblinkt. Als ich wissen wollte, was die CPU angenommen hatte und an der Fuse-Zeile read gedrückt habe, stand da nicht mehr D9 - DF, sondern DF - D9. Zur Verification habe ich wieder, renitent, wie ich bin, D9 - C1 (1 Mhz int) eingetippt und write gedrückt und die LED hat wieder langsam geblinkt. Mit C2 bis C4 wieder schneller. Jedesmal wenn ich read drücke, tauschen sich High und Low Bytes aus.
Das verstehe einer, wer will.
Gruß Lutz27
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen