Hallo, wie bekomme ich unter GCC bei z.B. PORTD nicht den Inhalt des Registers unter der Adresse PORTB sondern die Adresse von PORTB? Wenn ich die Registeraddresse habe - wie kann ich darauf zugreifen? setp z.b. gibts ja nicht mehr ...
Wie bei jeder anderen Variable: uint8_t* zeiger_auf_portb = &PORTB; *zeiger_auf_portb |= 1; // bit 0 setzen Ich vermute aber stark, dass du das nicht gemeint hast, da das absolute C-Grundlagen sind, die man wirklich beherrschen sollte bevor man sich an die Mikrocontrollerprogrammierung wagt. Daher bitte ich deine Frage etwas zu präzisieren.
Hmm - auf volatile uint8_t* x = &PORTC; bin ich selber schon gekommen - hätte nur nicht gedacht, dass das mit sowas wie PORTC oder so funktioniert - Mich hat nur das Resultat von *x = 0xaa; wird zu: a0c: 8a ea ldi r24, 0xAA ; 170 a0e: 80 83 st Z, r24 verwirrt - ich dachte, dass der IO-Bereich vom RAM getrennt wäre - das ist aber tatsächlich nicht so - 0x0000 - 0x001f = GPR 0x0020 ->0x005f = IO-Register und dann ab 0x0060 das interne RAM ... Trotzdem danke für deine Antwort - ich denke wohl zu kompliziert :)
> Trotzdem danke für deine Antwort - > ich denke wohl zu kompliziert :) Ja, die AVRs sind in Wirklichkeit gar nicht so kompliziert, wie sie manchmal scheinen. :-)
Die AVRs sind genial ... nur die jetzigen ATMEGAs sind schon teilweise überladen ... mit internen Oszillator, JTAG und und und was man alles erstmal deaktivieren muss, bevor sich das Ding wie ein classic-AVR verhält g Hab lange Zeit die AVRs nur in Assembler programmiert und hab jetzt ein kleines Projekt, bei dem es sich lohnt mal den avr-gcc/g++ auszuprobieren ... bis jetzt bin ich ja echt beeindruckt - vorallem die Unterstützung für c++ spezifische Sprachkonstrukte wie Klassen usw gefallen mir sehr gut ... Soll zwar noch Probleme mit der STL geben - aber die brauch ich bei meinem Projekt eh nicht ... So - schluss mit der Schwärmerei und weiter ans Werk :) thx und n8
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.