Hi Leute, also ich werd jetzt so langsam warm mit winavr. aber da sind ein paar sachen, die ich nicht verstehe: warum geht 1. DDRB = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<DD_SS); 2. PORTB = (inp(PINB)|0x10); nicht. Der erste Fall ist aus dem Datenblatt von Atmel, wobei ich die #define-Geschichte schon gemacht hab. den zweiten Fall hätte ich gern so oder so ähnlich. Kann mir mal jemand einen bitte einen Tip geben. Uwe
Davon abgesehen, daß der inp()-Makro in der zweiten Zeile überflüssig ist, was genau geht denn nicht? Schau Dir auch mal den generierten Assemblercode (avr-gcc -S) an.
OH, sorry hab mich falsch ausgedrückt. zu 1. der compiler meldet schon: 1_main.c:30: error: parse error before ';' token zu 2. nochmal sorry, das funktioniert jetzt, warum auch immer es vorher nicht ging. *Vielleicht sollte ich nachts nicht zu lange machen.* Danke Dir aber schon mal .
OK , ich bins nochmal.... ist mir ja echt peinlich, hab aber den Fehler gefunden: Ganz doof ist es nämlich, wenn man die #define DD_MOSI 5 mit einem ";" abschließt. Anscheinend ist das aus "Reflex" am Zeilenende passiert. Ist bestimmt ein Firmware-Fehler in meiner Fingersteuerung-->arbeite am Upgrade. :-) Danke für die Hilfe Uwe Seidel
> der compiler meldet schon: > 1_main.c:30: error: parse error before ';' token Hmm, dann hast Du irgendwas mit Deinen #defines versaut. Ich sehe mir in solchen Fällen immer den Output des Präprozessors an. Aufruf avr-gcc -E <alle -D oder -I optionen, die man braucht> filename.c Ausgabe nach »more« oder »less« pipen oder in eine Datei umlenken und diese dann ansehen. Auch wenn 2. jetzt tut: das inp() ist überflüssig.
Jo , hab bei 2. das inp() rausgenommen. Allerdings ist mir das mit : > avr-gcc -E <alle -D oder -I optionen, die man braucht> filename.c noch nicht so geläufig. hab mir bis jetzt einfach ein makefile umgeschrieben, und in winavr/pn make aufgerufen. läuft. Interessant wäre eine Sammlung der avr-gcc-optionen schon. Grad für solche Art von debugging. Wo steht das denn drin? Hab bis vorgestern eigentlich ausschließlich asm in AVR-Studio gemacht. C kann ich von früher noch ein wenig. Aber die Compiler-Spezialitäten bezüglich AVR sind mir NOCH ein Rätsel. Uwe Seidel
> Allerdings ist mir das mit : > > avr-gcc -E <alle -D oder -I optionen, die man braucht> filename.c > noch nicht so geläufig. Nun, im einfachsten Falle suchst Du Dir aus dem Log alle -D, -I (und -U :-) Optionen raus, die Dein Projekt normalerweise benutzt (das sind all die Optionen, die den Präprozessor beeinflussen). Vermutlich sind es keine. ;-) > Interessant wäre eine Sammlung der avr-gcc-optionen schon. Grad für > solche Art von debugging. Wo steht das denn drin? Im GCC-Manual, wird von WinAVR mit auf Deiner Platte installiert. Wichtige Optionen finden sich auch unter ``Using the GNU Tools'' im avr-libc Manual, ebenfalls auf Deiner Platte. ;-)
HUCH ich sag jetzt nicht, dass ich das .pdf die ganze Zeit offen hatte und nach Lösungen gesucht hab. ;-) Ich denke, da hab ich ne Weile zu lesen..... Danke für Deine Hilfe Uwe Seidel
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.