www.mikrocontroller.net

Forum: Compiler & IDEs AVR C-Programmierung > logischer (Bit-) Operationen?


Autor: Werner Dornstädter (dorni)
Datum:

Bewertung
0 lesenswert
nicht 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 . . . . .

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PORTD=~k

~ ist die bitweise Negation: ~0xf0 ergibt 0x0f

_delay_loop_2(DELAY_CNT)

ist entweder eine Funktion, oder ein Macro, dem der Parameter DELAY_CNT 
übergeben wird.

Autor: Hegy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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__...

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

Autor: Werner Dornstädter (dorni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für Eure Hilfe.
Hat mir weitergeholfen auch wenn man auch schon auf so mancher 
Internetseite war.

Bei dieser Gelegenheit hab ich noch weitere interessante Seiten 
gefunden:

http://www.wachtler.de/ck/Inhalt.html
http://www.netzmafia.de/skripten/ad/thomas-c/

Noch frohe Ostern
Werner

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.