Forum: Mikrocontroller und Digitale Elektronik Bitadressierbare Register beim AVR?


von Maxim (maxim) Benutzerseite


Lesenswert?

Hat der Mega8 bitadressierbare Register im RAM wie ein 8051?

von Niels H. (monarch35)


Lesenswert?

Nein, hat er nicht. Den Speicherbereich des 8051, der einzelne Bits in 
den SFRs addressiert, kennt man bei den Megas nicht.

von Rolf Magnus (Gast)


Lesenswert?

Ich weiß nicht, wie das beim 8051 aussieht, aber die AVRs können nicht 
auf einzelne Bits im RAM zugreifen. Zugriff geht nur byteweise.

von Gast (Gast)


Lesenswert?

Wenn man nicht päpstlicher ist als der Papst,
dann kann man die Frage bejahen.

1. Register liegen auch bei AVR im RAM

2. Register sind auch bei AVR bitweise anzusprechen
   (sbr, cbr, sbrc, sbrs)

Da dieses Forum aber überwiegend aus Päpsten und
Haarspaltern besteht, jetzt Ring frei...

von Niels H. (monarch35)


Lesenswert?

Gast wrote:

> 2. Register sind auch bei AVR bitweise anzusprechen
>    (sbr, cbr, sbrc, sbrs)
>
> Da dieses Forum aber überwiegend aus Päpsten und
> Haarspaltern besteht, jetzt Ring frei...

Das hat nichts mit Haarspalterei zu tun. Oben genannte Befehle sind 
Funktionen zur Bitmanipulation und haben nichts mit dem 
Bit-Adressbereich des 8051 zu tun.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

.....

aber päpste und solche die sich dafür halten


....

geht nicht gibt es nicht!

spätestens der CVAVR beherscht das aber

1
PORTB.0=0 //löscht bit 0 an PORTB
2
PORTB.3=1 //setzt bit 3 an PORTB

auch kann CVAVR Bitvariablen vorhalten und weist diese auch am ende des 
Compilierprozesses aus.

von Robert S. (razer) Benutzerseite


Lesenswert?

Winfried Jaeckel wrote:
>
1
> PORTB.0=0 //löscht bit 0 an PORTB
2
> PORTB.3=1 //setzt bit 3 an PORTB
3
>
>
> auch kann CVAVR Bitvariablen vorhalten und weist diese auch am ende des
> Compilierprozesses aus.

Das ist aber Compilerspezifisch und nicht von der Archtektur gegeben wie 
beim 8051.

von Niels H. (monarch35)


Lesenswert?

Winfried Jaeckel wrote:
> geht nicht gibt es nicht!

Das ist keine Frage. Natürlich haben die Megas ihre eigene Methoden um 
auf Maschinenebene einzelne Bits zu manipulieren oder abzufragen.

Dennoch bleibt die Frage des OP "Hat der Mega8 bitadressierbare Register 
im RAM wie ein 8051?" ganz klar zu verneinen. Denn die hat er definitiv 
nicht!

von Falk B. (falk)


Lesenswert?

@  Niels Hüsken (monarch35)

>Dennoch bleibt die Frage des OP "Hat der Mega8 bitadressierbare Register
>im RAM wie ein 8051?" ganz klar zu verneinen. Denn die hat er definitiv
>nicht!

Ihr irrt, eure Eminenz. Der AVR HAT bitadressierbare Register, nämlich 
die SFRs 0..31, auf welche die Befehle sbi, cbi, sbis, sbic anwendbar 
sind.

Bitmanipulation
Speicher: Register

MFG
Falk

von winne (Gast)


Lesenswert?

ja ja des kaisers bart



;-)))

von Falk B. (falk)


Lesenswert?

@ winne (Gast)

>ja ja des kaisers bart

Warens nicht seine neuen Kleider? ;-)

MFG
Falk

von Niels Hüsken (Gast)


Lesenswert?

Ja, aber.... humpf

Nagut, hab mich geirrt. Haupt auf meine Asche...

von Maxim (maxim) Benutzerseite


Lesenswert?

Falk Brunner wrote:
> @  Niels Hüsken (monarch35)
>
>>Dennoch bleibt die Frage des OP "Hat der Mega8 bitadressierbare Register
>>im RAM wie ein 8051?" ganz klar zu verneinen. Denn die hat er definitiv
>>nicht!
>
> Ihr irrt, eure Eminenz. Der AVR HAT bitadressierbare Register, nämlich
> die SFRs 0..31, auf welche die Befehle sbi, cbi, sbis, sbic anwendbar
> sind.
>
> Bitmanipulation
> Speicher: Register
>
> MFG
> Falk

Nur kann ich sie nicht für meine Zwecke nutzen. Das sind ja alles schon 
vordefinierte Bits mit bestimmten Funktionen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Aber rein theoretisch sind die Bits doch nicht adressierbar. Also ich 
meine, sie haben keine Adresse.

Somit kann der AVR nicht bit-adressieren ;)

PS: Ich kann da überhaupt nichts drüber sagen, weil ich weder den 8051 
kenne, noch die Eigenschaften von Bitadressierbarkeit.

von Volker (Gast)


Lesenswert?

Ist zwar nicht genau das, wonach du suchst,
aber vielleicht willst du dies erreichen:

Beitrag "sbit macro für avr-gcc"

Gruß und guten Rutsch

Volker

von Johannes M. (johnny-m)


Lesenswert?

Ich verstehe nicht, wieso auf die einigermaßen eindeutig gestellte Frage 
wieder mal so eine Klugsch***er-Diskussion losgehen muss. Die Frage von 
Maxim lässt sich ziemlich eindeutig beantworten:
Die AVRs lassen den Zugriff auf einzelne Bits nur in bestimmten SFRs zu. 
Einen bitadressierbaren Bereich im General Purpose SRAM wie bei den 
8051ern gibt es im AVR nicht.

von Gast (Gast)


Lesenswert?

das war mir doch sooooooooooooooooooooooooooooooooooooo klar

von Rolf Magnus (Gast)


Lesenswert?

> Nur kann ich sie nicht für meine Zwecke nutzen.

Kommt drauf an. Manche AVRs haben tatsächlich ein paar SFRs, die nur 
dazu da sind, um für eigene Zwecke benutzt zu werden. Beim Atmega48 
gibt's z.B. GPIOR0-2 dafür.

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