Hi!
Habe da folgenden Code:
1 | .include "m64def.inc"
|
2 |
|
3 |
|
4 | .def temp = r16
|
5 |
|
6 | ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse
|
7 | out SPH, temp
|
8 | ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse
|
9 | out SPL, temp
|
10 |
|
11 |
|
12 |
|
13 | ldi temp,0xff
|
14 | out ddrb,temp
|
15 |
|
16 |
|
17 | marke:
|
18 | ldi temp,0xff
|
19 | out portb,temp
|
20 | rcall wait
|
21 | ldi temp,0x00
|
22 | out portb,temp
|
23 | rcall wait
|
24 | rjmp marke
|
25 |
|
26 |
|
27 |
|
28 | wait:
|
29 | ; =============================
|
30 | ; delay loop generator
|
31 | ; 11999993 cycles: weil lcall = 3 zyclen und ret = 4 ==> 12000000 Zyklen = 1
|
32 | ; -----------------------------
|
33 | ; delaying 11999988 cycles:
|
34 | ldi R17, $6C
|
35 | WGLOOP0: ldi R18, $BC
|
36 | WGLOOP1: ldi R19, $C4
|
37 | WGLOOP2: dec R19
|
38 | brne WGLOOP2
|
39 | dec R18
|
40 | brne WGLOOP1
|
41 | dec R17
|
42 | brne WGLOOP0
|
43 | ; -----------------------------
|
44 | ; delaying 3 cycles:
|
45 | ldi R17, $01
|
46 | WGLOOP3: dec R17
|
47 | brne WGLOOP3
|
48 | ; -----------------------------
|
49 | ; delaying 2 cycles:
|
50 | nop
|
51 | nop
|
52 | ; =============================
|
53 |
|
54 | ret
|
Nach dem flashen in den Controller tut sich leider nichts. Habe ich die
Fuses vielleicht falsch gesetzt? Bzw wie muss ich sie setzen bei
externem Quarz?
MFG
blutengel