Forum: Mikrocontroller und Digitale Elektronik register auslesen binär? hexadezimal? dezimal?


von ralph (Gast)


Lesenswert?

hätte da mal eine frage:

ich lese das Timer Register TCNT1 aus. Das funktioniert auch.Aber was 
bekomm ich da heraus?
Also ich schreibe den Registerwert gleich in eine Variable  ist der 
ausgelesene wert binär oder hexadezimal oder dezimal?
ich müsste mit dem ausgelesenen wert nämlich weiterrechnen und müsste 
daher wissen was es genau ist.

Mfg ralph

von ralph (Gast)


Lesenswert?

hier kurz der code:
also mit der variable zeit müsste ich dann weiterrechnen
1
  
2
zeit = READ_TCNT1();
3
4
unsigned int READ_TCNT1()
5
{
6
  unsigned char sreg;
7
  unsigned int i;
8
9
  sreg = SREG;    // save global interrupt flag
10
  cli();        // disable interrupts    
11
  i = TCNT1;      // read TCNT1  
12
  SREG = sreg;    // restore global interrupt flag
13
  return i;
14
}

von Peter (Gast)


Lesenswert?

Es sind Register dort kann man nur zahlen ablegen, Zahlen können erstmal 
nich binär oder hexadezimal oder dezimal sein. (nur wenn sie als String 
verarbeitet werden).

Die Frage ist also schon vom Grundsatz her falsch.

von aha (Gast)


Lesenswert?

Binaer, Hex, ASCII, oder Dezimal sind Interpretationen desselben. Ein 
Byte nimmt die Werte 0..255 an, das sollte genuegen.

von Hmm (Gast)


Lesenswert?

Also weisst Du: Das ist nun SOWAS von grundlegend, das ich meine, das Du 
hier trollst.

von ralph (Gast)


Lesenswert?

also im TCNT1 Register steht ein Wert zwischen 0 - 65535 drin (16 bit)

und wenn ich den  auslese -->in variable  schreibe  zb int i

was hab ich dann dort drin stehen??  ist das hexadezimal oder binär?

wenn ich in ein register schreibe muss ich ja auch eine hexadezmale zahl 
hineinschreiben oder binär?


Mfg ralph

von Peter (Gast)


Lesenswert?

du schreibst NIE eine hexadezimal oder binär Zahl in ein Register, es 
ist immer nur eine zahl. Der compieler wandelt es vorher um.

von Karl H. (kbuchegg)


Lesenswert?

Binär, hexadezimal, dezimal sind nur verschiedene Darstellungen von 
immer demselben: Einer Zahl

Die Frage: Was hab ich in einer Variablen macht daher keinen Sinn. Du 
hast eine Zahl da drinnen stehen. Diese Zahl kannst du dir binär, 
dezimal oder hexadezimal (ider zu jedem anderen beliebigen Zahlensystem) 
anzeigen lassen. Aber es ist und bleibt einfach nur eine Zahl.

von Matthias N. (vbchaos)


Lesenswert?

ralph wrote:
> also im TCNT1 Register steht ein Wert zwischen 0 - 65535 drin (16 bit)

Ja, unsigned... und signed, also Vorzeichenbehaftet? Binär, Hex, Deziml, 
OCTAL... Alles nur verschiedene Schreibinterpretationen eines 
Registerzustandes...

16 Bit, alle auf 1: Kann man in binär mit 1111 1111 1111 1111 oder in 
HEX mit 0xFFFF oder Dezimal mit 65535 (unsigned) oder -32767 (signed) 
interpretieren... Octal weiss ich gerad ausm Kopf nicht (schäme mich, 
sorry :) )

Ließ ein BUCH dazu. Oder ein Tutorial. Oder ein Vorlesungsscript aus 
Informatik1!!!

von Peter (Gast)


Lesenswert?

der vollständigkeitshalber noch das Oktal

0xFFFF = 65535 = 0b1111111111111111 = (okt)177777

es ist alles das gleiche und egal was du ins Register reinschreibst, es 
wird danach immer das gleiche drin stehen.

von ralph (Gast)


Lesenswert?

ja danke ich habs mittlerweile auch gecheckt!! ;)

hab irgendwie einen denkfehler gehabt!!! da hätt ich selber auch darauf 
kommen müssen!!!!!


sorry, aber td danke das ihr mir wieder auf die sprünge gaholfen habt!!!

MFG ralph

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.