PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Register setzen in Avr-C



izaseba
26.07.2005, 17:25
Wenn Dir C für den Anfang zu schwierig ist, was ich auch verstehe,
hier im Forum haben ein paar schon Erfolg gehabt, den Asuro in Bascom Basic zu programmieren

@rubi,
er will den µC verstehen, wie er schreibt, und mit Bascom wird er das nie.

@luma,
Was Du da als Beispiel genannt hast, ist ein einfaches beschreiben mehrerer Register mit werten.

Nimm Dir das Dattenblatt, und dann suche nach den Registern, z.B.
TCCR2 ist ein Timerkontrolregister und zwar für den Timer 2 und das (1 << WGM21) | (1 << CS20) ist wohl eine Darstellung zweier Bits, die in diesem Timer drin sind, und wenn Du irgendwo in der avr/io.h Bibliothek, glaub ich nachschaust, müßte dort irgend ein #define WGM21 3 stehen.
Damit ist WGM21 und 3 gleich und dieses 1<<WGM 21 ist nichtsanderes als eine 1 in dem Byte TCCR2 3 Stellen nach links schieben.

mithin heißt (1 << WGM21) | (1 << CS20) genausoviel wie (1<<3) | (1<<0), und wenn man das sich bei einem Byte anschaut kommt sowas raus 00001001 , wenn Du im Dattenblatt danach schaust wirst Du wohl wissen was es bedeutet.

Hmmm, hoffe das Du jetzt etwas mehr weißt....

Gruß Sebastian