www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bitadressierbare Register beim AVR?


Autor: Maxim S. (maxim) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat der Mega8 bitadressierbare Register im RAM wie ein 8051?

Autor: Niels Hüsken (monarch35)
Datum:

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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.....

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


....

geht nicht gibt es nicht!

spätestens der CVAVR beherscht das aber

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

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

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Winfried Jaeckel wrote:
>
> PORTB.0=0 //löscht bit 0 an PORTB
> PORTB.3=1 //setzt bit 3 an PORTB
> 
>
> 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.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: winne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ja des kaisers bart



;-)))

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ winne (Gast)

>ja ja des kaisers bart

Warens nicht seine neuen Kleider? ;-)

MFG
Falk

Autor: Niels Hüsken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber.... humpf

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

Autor: Maxim S. (maxim) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das war mir doch sooooooooooooooooooooooooooooooooooooo klar

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.