Simpelstes Prog funktioniert nicht ATMega32

Gast #945922
Lesenswert?

hallo,

Ich habe folgendes Programm geschrieben:
1
#include <stdint.h>
2
#include <avr/io.h>
3

4
int main( void )
5
{
6
  DDRA=255;
7
  PORTA=0;
8
  DDRD=0;
9
  PORTD=0;
10
  while(1){
11
    PORTA=PIND;
12
  }
13
    
14
  return 0;
15
}
Wenn ich es per ISP hochlade funktioniert es nicht. Wenn ich es per JTAG 
im AutoStep ausführe funktioniert es. Wenn es mit JTAG laufen lasse 
(Run) funktioniert es wieder nicht. confused

Wenn ich nach dem Run auf pause drücke befinde ich mich im disassembler 
bei data or unknown opcode.

Was mach ich falsch???

Danke für eure HIlfe
Gast #945941
Lesenswert?

Ja das macht man im AVR-Studio über eine GUI
(Fuse-Settings (häkchen bei:
 OCDEN
 JTAG
 SPIEN
 Bootflash section size = 2048
 BODLEVEL=1
 Ext. Crys/Res Hi Freq 16kCK+4ms)

Einstellungen in den Proj. Options:
device: atmega32
Freq: 16000000Hz
Opt -Os


Ich verstehe das einfach nicht -hmmm
Gast #946029
Lesenswert?

Hmmm... JTAG hört sich an wie MEGA16 oder größer.
Hab's mal spaßeshalber auf 'nen MEGA32 geworfen und kann die Aussage 
"funktioniert nicht" nicht nachvollziehen.
Ich habe allerdings auch keine Pegel an die Port's angelegt/geprüft.
Ergänze Deine "while"-Schleife mal um folgenden Befehl:
1
asm volatile ("nop" ::);
Nicht, daß da wieder was wegoptimiert wird.
Sieht auch im "AutoStep" besser aus...
Gast #946041
Lesenswert?

aaaalso

Es scheint wohl daran zu liegen das der ATMega 32 zumindest was den XTAL 
Eingang angeht nicht mehr ganz in Ordnung ist..

Benutze ich den internen Oszilator funktioniert das Programm, schalte 
ich auf Ext. crystal hi freq um funktioniert das Programm nicht mehr.

Mit einem anderen Mega funktioniert es auch mit dem ext. crystal.

Ich habe mal mit dem DSO XTAL2 (gelb) und XTAL1 (blau) aufgezeichnet; 
jeweils an einem ATMega an dem es funktioniert und an dem es nicht 
funktioniert. Man sieht in der Ampl. schon einen deutlichen Unterschied, 
aber ich finde so schlecht sieht das CLK Signal jetzt auch wieder nicht 
aus.

Naja vllt. liest das ja nochmal jmd. der dazu was sagen kann.
(Warum das CLK singal bei dem nicht funktionierenden zu schlecht ist, 
woran man das erkennt etc. Wie ich den ATMega / XTAL Eingang kaputt 
gemacht haben könnte...)

Trotzdem danke für eure Lösungsansätze
Angehängte Dateien:
#946056
Lesenswert?

nixversteh wrote:
> Hmmm... JTAG hört sich an wie MEGA16 oder größer.+
Wie, Du hast nichtmal den Betreff gelesen?

> Ergänze Deine "while"-Schleife mal um folgenden Befehl:
>
1
> asm volatile ("nop" ::);
2
>
> Nicht, daß da wieder was wegoptimiert wird.
Nö. Das ist unsinnig. Da wird nichts wegoptimiert.

@Dirk:
Die Bilder deuten tatsächlich darauf hin, dass CKOPT nicht programmiert 
sein könnte.
Gast #946090
Lesenswert?

For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed 
and
16 MHz with CKOPT programmed.

ist ein Crystal ein Resonator?
dann sollte es ja wirklich geproggt werden...
Hab ich noch nie gemacht ;)

Aber auch das proggen von CKOPT ändert nichts..

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