Hat der Mega8 bitadressierbare Register im RAM wie ein 8051?
Nein, hat er nicht. Den Speicherbereich des 8051, der einzelne Bits in den SFRs addressiert, kennt man bei den Megas nicht.
Gast
#738366
Ich weiß nicht, wie das beim 8051 aussieht, aber die AVRs können nicht auf einzelne Bits im RAM zugreifen. Zugriff geht nur byteweise.
Gast
#738380
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...
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.
..... aber päpste und solche die sich dafür halten .... geht nicht gibt es nicht! spätestens der CVAVR beherscht das aber
1 | |
2 | |
auch kann CVAVR Bitvariablen vorhalten und weist diese auch am ende des Compilierprozesses aus.
Winfried Jaeckel wrote:
>1 | |
2 | |
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.
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!
@ 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
Gast
#738421
ja ja des kaisers bart ;-)))
@ winne (Gast)
>ja ja des kaisers bart
Warens nicht seine neuen Kleider? ;-)
MFG
Falk
Gast
#738435
Ja, aber.... humpf Nagut, hab mich geirrt. Haupt auf meine Asche...
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.
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.
Gast
#738481
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
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.
Gast
#738708
das war mir doch sooooooooooooooooooooooooooooooooooooo klar
Gast
#738997
> 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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.