GPIOR1,2,3 beim tiny gar nicht über IO erreichbar?

Gast #6874812
Lesenswert?

Nabend.

Ich glaub ich steh grad auf dem Schlauch.... aber beim attiny88 ist zwar 
der GPIOR0 via sbi und cbi erreichbar, aber die höheren sind es nicht. 
WTF? Wie soll ich die denn da oben elegant für Flags benutzen? Bei den 
anderen tinys und megas, die ich so kenne, sind alle 4 im IO-Space.
#6874834
Lesenswert?

(prx) A. K. schrieb:
> Weil diese Bitbefehle nur die Datenadressen 0x20..0x3F bzw I/O-Adressen
> 0x00..0x1F ansprechen können.

Hmm, stimmt. Das war mir gar nicht bewusst. Ich dachte immer, dass die 
den ganzen I/O-Bereich abdecken. Dann sind GPIOR1/2 tatsächlich recht 
sinnlos, und das Datenblatt ist diesbezüglich fehlerhaft. Das behauptet 
nämlich, dass das mit allen GPIORs ginge:

"ATtiny48/88 also contains three general purpose I/O registers that can 
be used for storing any information. See GPIOR0, GPIOR1 and GPIOR2 in 
“Register Summary” on page 277. These general purpose I/O registers are 
particularly useful for storing global variables and status flags, since 
they are accessible to bit-specific instructions such as SBI, CBI, SBIC, 
SBIS, SBRC, and SBRS."
#6874835
Lesenswert?

Jan schrieb:
> Bei den
> anderen tinys und megas, die ich so kenne, sind alle 4 im IO-Space.

In der Entwicklung der AVRs galt anfangs ziemlicher Wildwuchs, was die 
Adressbelegung im I/O-Bereich anging. Die war bei jeder Baureihe anders. 
Irgendwann fand Atmel es bei den Megas passend, den Adressraum über die 
verschiedenen Typen hinaus zu vereinheitlichen.

Und so hat eben der ATmega88 die gleiche Adressbelegung wie der 
ATmega2561. Und folglich riesige Löcher im bitadressierbaren Bereich, 
während beim dicken Kollegen alles mit mit seinen vielen Ports, Timern 
und Interrupts vollgestopft ist.

Die meisten Tinys blieben davon verschont, auch neuere. Der ATtiny88 ist 
allerdings nur dem Namen nach ein Tiny, technisch jedoch ein 
funktionsreduzierter ATmega88.

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