Problem mit AVR Studio Simulator - Attiny13

Gast #2723558
Lesenswert?

Hallo an alle,
ich wollte mich mal an die µC Programmierung wagen. Bin relativ neu in 
der Thematik und wollte mit einem Hello World Programm für einen 
Attiny13 anfangen:
1
#include <avr/io.h>
2
#include <avr/iotny13.h>
3
#include <util/delay.h>
4

5
void main(void){
6
  DDRB = 0b00000001; //PB0 auf Output setzen
7
  while(1){
8
    PORTB = 0b00000001; //LED ein
9
    _delay_ms(500) //halbe sec warten
10
    PORTB = 0b00000000; //LED aus
11
    _delay_ms(500) //halbe sec warten
12
  }
13
}
Nun wollte ich es im Simulator von AVR Studio (v. 5.0) testen, aber er 
läuft einfach nur durch, und setzt nicht ein einziges Register. 
Simulator ist aber auf Attiny13 eingestellt.

Wenn ich das gleiche mitm Atmega8 mache, dann funktioniert es im 
Simulator. Hat jemand ne Idee???
Gast #2723587
Lesenswert?

Verstehe die Frage nicht für was es kompiliert ist. Das Programm soll so 
auf n ATtiny13. Ich gehe davon aus, dass AVR Studio das schon richtig 
kompiliert.

Warum schreibt man das include nicht mit rein? (Abgesehen davon, dass es 
einen Schreibfehler beinhaltet ;) ) Reicht es, wenn <avr/io.h> drin ist, 
und dann sucht sich AVR Studio selbst die Headerdatei für den 
entsprechenden Chip?

LG
Moderator Persönliche Seite #2723597
Lesenswert?

t0mM3k schrieb:
> Reicht es, wenn <avr/io.h> drin ist,
> und dann sucht sich AVR Studio selbst die Headerdatei für den
> entsprechenden Chip?

Ja.

Ein 500-ms-Delay ist im Simulator eher eine Art Endlosschleife.
Mach die Delays für die Simulation mal 10 µs lang und schau dir
das alles an.  Für die reale Hardware kommen dann wieder die
richtigen Werte rein.
Gast #2723668
Lesenswert?

Jörg Wunsch schrieb:
> Ein 500-ms-Delay ist im Simulator eher eine Art Endlosschleife.

Ja das weiß ich. Habe vor einem Jahr schonmal n bisschen was mit AVR 
Studio gemacht und immer alles im Simulator getestet. Dass man bei dem 
delay n bisschen warten muss, das weiß ich. Ich gehe ja sowieso nur 
schrittweise durch den Code und schaue mir an, ob die Register gesetzt 
wurden.

Und wie gesagt ... schreibe ich das Programm so für den Atmega8, 
funktioniert alles prima (auch im Simulator). Nur der ATtiny13 will 
nicht.
Kann das ein Bug in AVR Studio 5 sein?
Habe mir das vor nem Jahr mal runtergeladen, und habs gestern Abend auf 
meinem Notebook "wiedergefunden". Darum hab ich damit programmiert.
Ich versuch mal mir AVR Studio 6 runterzuladen.
Gast #2723742
Lesenswert?

Okay ... das neue AVR Studio (also 6) kriegt das mit dem simulieren 
wunderbar hin.

Jörg Wunsch schrieb:
> Im Zweifelsfalle ist die Realität der Prüfstein der Wahrheit: also
> drauf damit auf einen ATtiny13 und die blinkende LED angesehen. ;-)

Ja, wollte ich ja, aber hab meinen USB-Programmer verlegt und der neue 
ist bestellt, aber noch nicht da.
Aber solange der Simulator funzt kann ich ja damit rumspielen.

Bis dahin erstmal 1000 Dank an alle Helfenden :)

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