mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Avr Studio Simulator / gcc


Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe folgenden Code mit dem avr-gcc übersetzt
#include<avr\io.h>
#include<avr\interrupt.h>

void init_Ex4(void)
{
  TCCR2 = (1<<WGM20)+(1<<COM21)+(1<<CS20); // Timer2 sysf/1
  DDRB = 0xFF;  // Portb ausgang
  PORTB = 0x08; // test
  OCR2 = 0xE0;  // Compare Value
}

int main()
{
  init_Ex4();
  while(1);
  //OCR2++;
  return(0);
}


aus;

OCR2 = 0xE0;

macht der gcc
LDI     R24,0xE0         Load immediate
STS     0x0043,R24       store direkt to sram

(ausschnitt aus dem disassambly)

und dementsprechend funktioniert auch nix. Der Simulator zeigt die 
änderung von ocr2 etliche takte später an. Kann mir da jemand helfen?

Florian

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Welchen µC benutzt du?
2.
>>dementsprechend funktioniert auch nix

Warum sollte das nicht funktionieren?

3. Wieviel ist "etliche Takte" ?

Autor: Florian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi,
einen atmega8 und lass mich mal zählen.
Der cycle counter zeigt eine differenz zwischen zuweisung und erscheinen 
von ca 250 cyclen.
Florian

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hat einen ganz einfachen Grund

>>The OCR2 Register is double buffered when using any of the Pulse Width 
Modulation
>>(PWM) modes. For the normal and Clear Timer on Compare (CTC) modes of operation,
>>the double buffering is disabled. The double buffering synchronizes the update 
of the
>>OCR2 Compare Register to either top or bottom of the counting sequence. The 
synchro-
>>nization prevents the occurrence of odd-length, non-symmetrical PWM pulses, 
thereby
>>making the output glitch-free.
>>The OCR2 Register access may seem complex, but this is not case. When the double
>>buffering is enabled, the CPU has access to the OCR2 Buffer Register, and if 
double
>>buffering is disabled the CPU will access the OCR2 directly.


Sprich: Im PWM Mode wird dein OCR2 erst beim TOP(oder BOTTOM) Value 
geupdated. Solange verharrt der Wert in einem Buffer..

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh ja das habe ich nicht beachtet. Die Datenblätter sind ganz schön 
komplex.
Also viele Dank!

Autor: jay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@simon

Wie hastn das rauskopieren können....sind die Datenblätter nicht 
verschlüsselt?

Autor: fifi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Florian,

du schreibst in Deinem Beitrag, das AVR-Studio ein Assemb. File 
erstellt!?

Wie/wo stellt man sowas ein bei AVR-Studio?

Gruß

fifi

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

rechts oben findest du einen knopf "togle disassembler window"

gruss

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jay wrote:
> @simon
>
> Wie hastn das rauskopieren können....sind die Datenblätter nicht
> verschlüsselt?

*g Könnte ich es dann lesen? In meinem Foxit PDF Reader klicke ich das 
Textauswahlsymbol an, und ziehe einen Rahmen um den Text. Dann kann ich 
ihn irgndwo anders auch schon einfügen.


Man kann in der Project Configuration auch noch einstellen, dass ein 
"Listing" erstellt wird. Sprich: Es wird im Debug Ordner eine .lss mit 
Assemblerbefehlen + C-Code und Kommentare gebaut.

Autor: jay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@simon
haste deinen reader irgendwie bestochen oder nur gut zugeredet ;)
will bei mir nich klappen, da er die auswahl des werkzeugs 
verbietet...möööh!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: jay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du verweist auf die Version 1.3, runtergeladen/Installiert krieg ich 
aber immer nur die 2.0.
Vielleicht liegts ja daran :(

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.