[ATmega8] eigenartiges Simulations-Verhalten im AVR-Studio

Gast #1220777
Lesenswert?
• ▲
▼
1
#include <avr/io.h>
2
#include <util/delay_basic.h>
3

4

5
void showByte(uint8_t byte)
6
{
7
  PORTD = byte &  0x0f;
8
  PORTC = byte >> 4;
9
}
10
 
11
int main (void) { 
12
   uint16_t i;
13

14
   DDRC  = 0xff;
15
   DDRD  = 0xff;
16
   PORTC = 0;
17
   PORTD = 0;
18
 
19
   for(i=0;i<2000;++i) {
20
     _delay_loop_2(0);
21
     showByte((uint8_t)i);
22
   }
23
 
24

25
   return 0;         
26
}

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
Gast #1220840
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)
#1220882
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

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