Mikrontroller mit C - adressierung und maskierung

OP #1399411
Hallo

Habe grade mit der Microcontrolerprogrammierung mit "C" begonnen.
Folgende Dinge verstehe ich nicht so ganz und hoffe, dass mir jemand
helfen kann:

Einige Ports sind Bitadressierbar einige Byteadressierbar...worin
besteht der Grund, dass es bei den einen so und bei den anderen so ist?

Maskierung der byteadressierbaren Ports:

Ich verstehe, dass ich mit z.B. P6=0xef; den Port 6 mit dem Bitmuster
11101111 versehe, aber was genau bedeutet das 0x dabei?
weiterhin:
Bei einer Abfrage eines Ports mit:
if((P8&0x01)==0)
oder dem setzten eines Ports/SFRs mit:
TMOD=((TMOD&0xf0)|0x01);
was bedeutet das & bzw. das |  ?
mir ist klar dass es etwas mit einer "und" bzw. "oder"-Verknüpfung zu
tun hat, aber so richtig verstehe ich es nicht.....

Vielen Dank schonmal für die Hilfe!
Bernd Brot schrieb:

> Einige Ports sind Bitadressierbar einige Byteadressierbar...worin
> besteht der Grund, dass es bei den einen so und bei den anderen so ist?

Das wird verständlich, wenn man sich dieser Frage auf der Ebene des 
Maschinencodes nähert. Also der Codierung der Befehle. Man hat nur 
begrenzt Platz darin.
Persönliche Seite
>Ich verstehe, dass ich mit z.B. P6=0xef; den Port 6 mit dem Bitmuster
>11101111 versehe, aber was genau bedeutet das 0x dabei?
Steht für Hex


>Bei einer Abfrage eines Ports mit:
>if((P8&0x01)==0)
>oder dem setzten eines Ports/SFRs mit:
>TMOD=((TMOD&0xf0)|0x01);
& = und Verknüpfing, siehe Bitoperationen
| = oder Verknüpfung

>was bedeutet das & bzw. das |  ?
>mir ist klar dass es etwas mit einer "und" bzw. "oder"-Verknüpfung zu
>tun hat, aber so richtig verstehe ich es nicht.....
http://www.mikrocontroller.net/articles/Bitmanipulation Bitmanipulation

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.