AVR C-Programmierung > logischer (Bit-) Operationen?

OP #820202
Lesenswert?

Jeder Anfang ist schwer!

Anleitungen und Literatur zu C sind ja vielfach zu finden. Doch wenn es 
zur Controller-Schnittstelle geht, fehlt mir noch ein Nachschlagewerk!
Wo finde ich eine Erklärung wie z.B. zu diesem Befehl:

    PORTD=~k;

oder

for(i==; i<KMAX;i++)  _delay_loop_2(DELAY_CNT);

Der for-Befehl ist noch OK, aber _delay . . . . .
Gast #820251
Lesenswert?

Da hättst du etwas mehr zu sagen sollen, womit du rumkachelst. Wird wohl 
der AVR-GCC sein.

PORTD=~k;
heißt (s. Datenblatt), daß alle 8 Pinne des Ports D (PD0...PD7) mit dem 
invertierten (~) Wert von Var. k beschrieben werden. Die Bitoperation 
'~' sowie !, |, & usw. steht in jeder C-Literatur. PORTD und PD0 und 
andere controllerspezifische Eigenarten und Bezeichnungen stehen im 
Datenblatt und wurden so in die C-Library übernommen.

Und beim Thema C-Library bzw. Header-Files, kukk dir mal die Headerfiles 
"von innen" an. Da steht dann auch in ..../avr/utils/delay.h das 
_delay_loop_2() erklärt. Es ist eine Verzögerungsschleife (aktives 
Warten), die DELAY_CNT Milisekunden wartet. Wertebereich von 
_delay_loop_2() s. Headerfile oder hier:
http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html

Wichtige Links, durchsehen lohnt auf jeden Fall!
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
http://www.nongnu.org/avr-libc/
http://www.mikrocontroller.net/articles/Linksammlung#C

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren