ATMEGA64 Problem

Gast #1970009
Lesenswert?

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
Gast #1970059
Lesenswert?

>usbasp von ulrich radig bzw. fischl. das ganze über burn o mat

Fein, jetzt stehen wir wieder am Anfang;)
Du darfst die Fuse nicht brennen. D.h. nicht aktivieren.
Theoretisch bedeutet das 1. Praktisch nicht anklicken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren