Gast
#498016
Was bedeutet das folgende Codefragment? output(PORTB,0x38); output(DDRB,0x07);
|
Anzeige
|
Codefragment
Gast
#498016
Was bedeutet das folgende Codefragment? output(PORTB,0x38); output(DDRB,0x07);
Gast
#498017
12 augenroll
Gast
#498019
Der Code macht erst im Zusammenhang Sinn. PortB:=0x38 DDRB:=0x07 Ohne das Schema dazu wird's schwierig werden, da ein Hardwarepin bewegt wird. B. damit wird definiert, was auf welchen pins ausgegeben werden soll..., musst du aber zuerst in bin umrechnen, damit du wirklich weißt auf welchem Pin was (0 oder 1) ausgegeben wird
Gast
#498023
Gast
#498024
Da umrechnen mein ich ja.... Was bedeutet den die 0x38? Binär == 00011100 ???
Gast
#498027
> Was bedeutet den die 0x38? > Binär == 00011100 ??? stimmt nicht 0011 1000 /rahul42 lad dir einen bin/hex-converter herunter (http://www.flamisch.at/ ; downloads), aber mit deiner annahme hast schon recht, da kommt dann z.B. 01001100, jedes bit steht für einen anderen pin deines ports....
Gast
#498029
Gast
#498031
wie wäre es mit Windows Calc ?!
Gast
#498038
> wie wäre es mit Windows Calc ?!
Was soll der Quatsch? Jede Hex-Ziffer steht doch für ein Nibble (4 Bit),
die wird man doch wohl im Kopf übersetzen können, ist jedenfalls
leichter als das "kleine Einmaleins".
/42
Gast
#498039
Also könnte ich output(PORTB,0x38); output(DDRB,0x07); auch als PORTB |= ((1 << PB5) | (1 << PB4) | (1 << PB3)); PORTB &= ~((1 << PB7) | (1 << PB6) | (1 << PB2) | (1 << PB1) | (1 << PB0)); DDRB |= ((1 << PB2) | (1 << PB1) | (1 << PB0)); DDRB &= ~((1 << PB7) | (1 << PB6) | (1 << PB5) | (1 << PB4) | (1 << PB3)); schreiben? Fast. output setzt den Port. Das entspricht einer Zuweisung. Ergo:
Mit |= kann man Bits setzen Mit &= kann man Bits löschen wobei jeweils der vorhergehende Zustand des Ports in die Berechnung mit eingeht.
Gast
#498348
Wie wärs mit PORTB = 0x38 DDRB = 0x07 ?? Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|