www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mikrontroller mit C - adressierung und maskierung


Autor: Bernd Brot (berndbrot)
Datum:

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

Autor: Naja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für eine Hilfe erwartest Du hier, die ein gutes C-Buch nicht auch 
bieten könnte?

Autor: A. K. (prx)
Datum:

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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitmanipulation

Aber auch mein Tipp -> Buch kaufen und selber lesen.

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

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

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ein C-Buch online:

http://openbook.galileocomputing.de/c_von_a_bis_z/


Das manches Bitadressierbar ist und manches nicht ist
oft Hardwarebedingt, eine Frage der umsetzbarkeit.
Hier hilft Assemblerwissen.

avr

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.