Hauptschleife wird ignoriert!

Gast #2392650
Lesenswert?
• ▲
▼
Sehr geehrte Forum-Mitglieder,

ich habe den unten stehen Source Code in AVR Studio 4 sowie in AVR 
Studio 5 simuliert und habe festgestellt, dass in AVR Studio 4 die 
Hauptschleife in der "main()" Funktion "einfach" ignoriert wird. In der 
Version 5 des Programmes läuft das Programm im Simulator in die 
Schleife. In der Version 4 wird das Programm an der Stelle der Schleife 
beendet. Habe ich noch irgendwas bezüglich dies nicht verstanden oder 
sind da irgendwelche verrückten Einstellungen die Hauptschuldigen ? Die 
Compiler Settings (wie
Code Optimization etc..) habe bei beiden Versionen soweit identisch.
Die Schleife funktioniert in AVR Studio 4 nur dann, wenn die Schleife
der erste Befehl in der "main()" Funktion ist und sie funktioniert dann,
wenn in der Schleife irgendein Befehl ausgeübt wird. In der Forensuche 
habe ich zwar einen Beitrag bezüglich dieses Problem gefunden, welcher 
aber keine eindeutige Problemlösung beinhaltet. Die Frage lautet daher, 
warum funktioniert das in AVR Studio 5 und nicht in AVR Studio 4 ?!

Hier der Code:
1
#include <avr/io.h>
2

3
int main(void)
4
{
5
    DDRB |= (1<<PB0);   
6
 
7
    while(1)
8
    {
9
 
10
    }
11
}

Bin für jede Hilfestellung dankbar.

Einen guten Start in die Woche und freundliche Grüße,
opcode
#2392898
Lesenswert?
• ▲
▼
opcode schrieb:
> Die Schleife funktioniert in AVR Studio 4 nur dann, wenn die Schleife
> der erste Befehl in der "main()" Funktion ist und sie funktioniert dann,
> wenn in der Schleife irgendein Befehl ausgeübt wird.

Das ist korrekt.
Ein Simulator kann nur dort halten, wo auch Code generiert wird.
Eine '{' oder gar Leerzeile enthält aber nichts, wo der Simulator 
anhalten kann.

Der Simulator führt eine Anweisung aus und setzt dann den Kursor auf die 
zugehörige Quell-Zeile, nicht umgekehrt.


Peter

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.