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 . . . . .
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.