register auslesen binär? hexadezimal? dezimal?

Gast #1185930
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
Gast #1185933
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
}
Gast #1185936
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.
Gast #1185949
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
#1185956
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.
#1185958
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!!!
Gast #1185966
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.
Gast #1185972
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

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