www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [ATmega8] eigenartiges Simulations-Verhalten im AVR-Studio


Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <avr/io.h>
#include <util/delay_basic.h>


void showByte(uint8_t byte)
{
  PORTD = byte &  0x0f;
  PORTC = byte >> 4;
}
 
int main (void) { 
   uint16_t i;

   DDRC  = 0xff;
   DDRD  = 0xff;
   PORTC = 0;
   PORTD = 0;
 
   for(i=0;i<2000;++i) {
     _delay_loop_2(0);
     showByte((uint8_t)i);
   }
 

   return 0;         
}

Hi,
Im simulator tut sich mit obigen Code gar nix an port C
Dafür verändert sich mit ausführen der 2. Zeile das PIN register von 
Port D?


kann mir das jemand erklären?
MfG,
vlad

Autor: Thomas Weyhrauch (thomas100)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schalte mal die Compileroptimierung aus.
Dann könnte die Veränderung des PIN-Registers weg sein.

"_delay_loop_2(0)" kann im Simulator einige Zeit in Anspruch nehmen.
Versuchs mal mit einer kürzeren Zeit.


Gruß
Thomas

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast wahrscheinlich entweder beim Compilieren oder im Simulator den 
falschen µC eingestellt.

Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die änderung des Optimierung verändert nix.
oder ist es normal, dass das PIN register dem Dataregister folgt, nach 
einem Frame (Wenn ich das richtig verstanden habe, schaltet der outport 
ja auch erst etwas später)

Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan Ernst
Das stimmt alles.
und selbst wenn ich einen anderen µC ausgewählt hab, dann sollte er ja 
den emulieren, so dass Code uns Simulator auf jeden Fall zu sammen 
passen.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vlad_tepesch wrote:

> und selbst wenn ich einen anderen µC ausgewählt hab, dann sollte er ja
> den emulieren, so dass Code uns Simulator auf jeden Fall zu sammen
> passen.

Nein, eben nicht. Es ist möglich, im selben Projekt für Übersetzen und 
Simulieren jeweils einen anderen µC einzustellen, und dann passt es eben 
nicht mehr zusammen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.