Am Besten stellst du dein gesamtes Programm hier herein, dann kann man es selbst ins AVR-Studio laden und die Fehler analysieren.
Für mich sieht das nach Klammerfehler aus.
Hallo liebe Gemeinde
Ich möchte mir gerne uC Programmierung beibringen und nutze daher intensiv einige Tutorial u.a. auch von dieser Seite. Es geht sich in diesem Fall um das unten verlinkten Tutorial aus RN-Wissen und dazu möchte ich eine Frage stellen:
Ich habe den Code für das PWM Beispiel 1zu1 kopiert. Beim bilden mit AVR Studio 6.2 sind dann 19 Fehler aufgetreten die ich leider weder zuordnen kann noch verstehe.
expected identifier or '(' bevor 'volatile'
Und
expected ')' before '(' Token
Diese Fehlermeldungen wiederholen sich öfters und ich hab leider keine Ahnung wie ich das Programm auf dem uC zum laufen bringen soll.
Wie bereits erwähnt ich bin absoluter Anfänger und wollte mir mit den Tutorial das Thema ein wenig näher bringen.
Danke für eure Hilfe
http://rn-wissen.de/wiki/index.php/Timer/Counter_(Avr)
Am Besten stellst du dein gesamtes Programm hier herein, dann kann man es selbst ins AVR-Studio laden und die Fehler analysieren.
Für mich sieht das nach Klammerfehler aus.
Beim pwm Beispiel auf RN-Wissen hat jemand die main Funktion vergessen sehe ich gerade.
Außerdem wurde hier doch die Beschreibung von invertierter pwm und nicht invertierter pwm vertauscht? Beim nicht invertierten Modus geht ja bei match der Pin auf low und beim Überlauf wieder auf 1 und nicht umgekehrt wenn ich da jetzt nichts verwechsle?
Zitat von RN-Wissen
Danke für eure Tipps.
Kann das Programm gerne posten habe aber nichts weiter gemacht als ein Atmega32 Projekt zu erstellen und den Inhalt der Website herein zu kopieren.
Bei Fehlermeldungen ist meist nur die erste interessant, alle anderen sind oft Folgefehler.
Wie lautet die 1. Fehlermeldung bei dir?
Wie gesagt wenn du das 1 zu 1 kopiert hast fehlt die main Funktion.
Wenn du ein neues Projekt erstellst wird das Grundgerüst eh schon vorgegeben. Einfach das Programm in die main Funktion hinein kopieren. Die #includes kommen vor die main.
Damit die delay Funktion auch richtig funktioniert musst du noch die Frequenz mit der dein controller läuft angeben. Einfach einmal nach F_CPU suchen welche Möglichkeiten du dafür hast.
Danke jetzt funktioniert es!
Lesezeichen