Forum: Mikrocontroller und Digitale Elektronik Simulavr timing question


von Wally W. (wally234)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe in der Arduino-IDE das Beispielprojekt "Blink.ino"
1
void setup() {
2
  pinMode(13, OUTPUT);
3
}
4
5
void loop() {
6
  digitalWrite(13, HIGH); 
7
  delay(10);              
8
  digitalWrite(13, LOW);   
9
  delay(20);              
10
}

kompiliert und die erzeugte "Blink_01.ino.elf"-Datei folgendermassen
an simulavr weitergegeben:
1
simulavr -d atmega328 -c vcd:./tracein.txt:traceout.vcd: -f Blink_01.ino.elf

die tracein.txt:
1
# trace Blink_01
2
+ PORTB.B5-Out

Darstellung mit gtkwave:
1
gtkwave ./traceout.vcd
ergibt angehängtes Resultat

Im Ergebnis ist die High-phase 40ms (soll 10ms) und die LOW-phase 80ms 
(soll 20ms) lang.

atmega328p
F_CPU = 16000000  // boards.txt in Arduion-IDE

on Linux, SimulAVR 1.1dev, Arduino IDE 1.6.6, GTKWave Analyzer v3.3.68

Wo liegt mein Fehler, bzw. wie kann ich erreichen, dass die Zeiten 
passen ?

Danke und Gruß
wally

von Wally W. (wally234)


Lesenswert?

OK, found it now :)

-F <value>, --cpufrequency <value>
    set the CPU frequence to <Hz>. Default is 4MHz.

following works as expected:
1
simulavr -d atmega328 -F 16000000 -c vcd:./tracein.txt:traceout.vcd: -f Blink_01.ino.elf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.