Pull-Up aktivieren

#3024002
Lesenswert?

Flitzii schrieb:
> MojnMojn
>
> hab da ein Problem.
> Ich verstehe nicht wie ich die Internen Pull-Up´s vom Mega8 nur auf Port
> PD0 - PD4 aktivieren kann.

Und ich verstehe nicht, was es da nicht zu verstehen gibt.

In dem Moment, in dem du begriffen hast, wie man einzelne Bits an einem 
Port manipuliert (ohne die anderen zu beeinflussen), ist das doch ein 
Kinderspiel.
#3024012
Lesenswert?

Dezimal    Hex    Binär              Dezimal Hex   Binär
 -----------------------------------------------------------
    0         0      0000                 8     8    1000
    1         1      0001                 9     9    1001
    2         2      0010                10     A    1010
    3         3      0011                11     B    1011
    4         4      0100                12     C    1100
    5         5      0101                13     D    1101
    6         6      0110                14     E    1110
    7         7      0111                15     F    1111



Eine Hex-Schreibweise hat den Charme, dass man einfach die Ziffern 
aneinander hängen kann um die 8 Bits zu erhalten.

Die Hex-Zahl   3B
besteht also aus den Ziffern 3 und B. 3 hat das Bitmuster 0011 und B hat 
das Bitmuster 1011. 3B hat daher das Bitmuster 00111011

dein 0xFF  hat daher das Bitmuster 11111111.
Das ist aber nicht das was du willst. Du willst das Bitmuster 00001111, 
weil du ja nur an den unteren 4 Bits die Pullups einschalten willst. 
Also brauchst du daher welche 2-stellige Hex-Zahl?
#3024018
Lesenswert?

Flitzii schrieb:
> PORTC |= (1<<PD0);
> PORTC |= (1<<PD1);
> PORTC |= (1<<PD2);
> PORTC |= (1<<PD3);
> PORTC |= (1<<PD4);
>
>
> Vielleicht so?


Ja, das ist auch gut. Das ist sogar noch besser, als wenn du die 
Hex-Zahzl hinschreibst. Obwohl: Den Zusammenhang zwischen der 
Hex-Schreibweise und den Binären Digits muss jeder µC-Programmierer 
beherrschen. Da führt kein Weg daran vorbei.

PS:
Man kann deine 4 Anweisungen auch zusammenfassen

   PORTC |= ( 1<<PC0) | ( 1 << PC1 ) | ( 1 << PC2 ) | ( 1 << PC3 ) ;
#3024035
Lesenswert?

Flitzii schrieb:
> Vielen dank :)
>
> jetzt geht es :-)


Das war allen schon klar.
Viel wichtiger ist, ob du die Sache mit den Bits, der Schreibweise, dem 
Aufbau von Zahlensystemen (ok, da gäbs noch viel zu sagen), der 
Nummerierung, ... zumindest im Ansatz verstanden hast.

Da liegt der Teil, über den du Nachdenken musst!
Wie sind Zahlensysteme aufgebaut?
Wie funktionieren eigentlich unsere gewohnten Dezimalzahlen?
Was sagt mir die Zerlegung

    5378  =    5 * 1000   +
               3 *  100   +
               7 *   10   +
               8 *    1

          =    5 * ( 10 hoch 3 )    +
               3 * ( 10 hoch 2 )    +
               7 * ( 10 hoch 1 )    +
               8 * ( 10 hoch 0 )

und wie ist da der Zusammenhang zwischen der Bezeichnung Dezimalsystem 
und dieser Zerlegung. Könnte es etwas damit zu tun haben, dass in 
Dezimal das lateinische 'decem' - lateinisch für 10 - drinnen steckt und 
in der letzten der beiden Zerlegungen diese 10 eine 'scheinbar tragende 
Rolle' spielt? Und welchen Zusammenhang gibt es in der '10 hoch ...' 
Schreibweise zwischen dem Exponenten n bei '10 hoch n' und der Position 
an der die damit bearbeitete Ziffer in der Dezimalzahl auftaucht?

Und wie verallgemeinerst das ganze auf andere Zahlensysteme. Zb das 
Binärsystem, zb das Hexadezimalsystem?


Da liegt hier deine Lektion, die es zu lernen und worüber es 
nachzudenken gilt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren