Forum: Mikrocontroller und Digitale Elektronik Wollte gelerntes Wissen einsetzen und es klappt nicht...


von popi (Gast)


Lesenswert?

Hallo nochmal,

ich habe hier bei Euch im Forum gelernt, wie man ein Register setzt.

Nun wollte ich das mal mal testen und schrieb (für mega64):

#include <avr/io.h>

TCCR1A = (1<<PWM11)|(1<<PWM10)|(1<<COM1A1);

int main(void)
{
}

Die Register gibts doch, aber der Compiler meckert.
Wann oder wo darf ich denn initialisieren ?

Danke und Grüße

popi

von Tom (Gast)


Lesenswert?

immer innerhalb einer Funktion:

#include <avr/io.h>

int main(void)
{
TCCR1A = (1<<PWM11)|(1<<PWM10)|(1<<COM1A1);
}

von Stefan M. (Gast)


Lesenswert?

die anzweisung muss in den main block rein
am betsen mal links im menü das avr-gcc-tutorial hier auf der homepage
anschauen :)

von popi (Gast)


Lesenswert?

Hallo,

hatte ich nicht reingeschrieben (sorry), hatte ich aber natürlich
vorher ausprobiert.

#include <avr/io.h>

int main(void)
{

TCCR1A = (1<<PWM11)|(1<<PWM10)|(1<<COM1A1);


return 0;
}

führt zu einer Menge Fehlern:
../vaseb.c:6: error: `PWM11' undeclared (first use in this function)
../vaseb.c:6: error: (Each undeclared identifier is reported only once
../vaseb.c:6: error: for each function it appears in.)
../vaseb.c:6: error: `PWM10' undeclared (first use in this function)


Aber was soll ich vorher "declaren" ?

Die Register heißen doch so ?
(Hoffentlich steige ich da mal durch ;o))

Danke und Grüße

popi

von Frank (Gast)


Lesenswert?

Ich habe gerade mal in die iom64.h geschaut.
Anscheinend heisst das dort WGM11 und WGM10 .
Steht auch so im ATMega64 Datenblatt.

Gruss
Frank

von popi (Gast)


Lesenswert?

... Du hast absolut recht...

Anscheinend drehe ich schon langsam am Rad ;o)

Vielen Dank für den Hinweis und schönen Abend noch!

Liebe Grüße

popi

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.