Forum: Mikrocontroller und Digitale Elektronik Array-Werte in Integer speichern


von AVR_noob (Gast)


Lesenswert?

Hallo,
ich habe ein kleines Problem. Ich habe eine 9 Bit große Zahl über eine 
3-Wire Bus empfangen. Es dreht sich um einen Temperatursensor der an 
einem Atmega16 hängt. Das Auslesen und drauf schreiben hat soweit auch 
geklappt nur will ich jetzt das Ergebnis welches ich in einem Array an 
den Stellen 0-8 gespeichert habe in eine Integervariable schieben wobei 
das Zeichen an der Stelle Array[8] das Vorzeichen darstellt und somit 
ohne größere Bedeutung ist.
1
vorzeichen=temp_array[8];
2
    
3
for(k=7;k==0;k--)
4
{
5
  temperature = temp_array[k];
6
  temperature = temperature << 1;
7
}

Leider steht in Temperature wenn ich es auf meinem LCD ausgeben lass 
immer 0 drin.
Dankeschön,
mit freundlichen Grüßen
AVR_noob

von Helmut -. (dc3yc)


Lesenswert?

Probiere es doch mal so:
1
vorzeichen=temp_array[8];
2
    
3
for(k=7,temperature=0;k==0;k--)
4
{
5
  temperature = temperature << 1;
6
  temperature |= temp_array[k];
7
}

Servus,
Helmut.

von Klaus W. (mfgkw)


Lesenswert?

in der Schleife wird k mit 7 initialisiert und läuft, solange k==0 ist.
Das ist nicht oft der Fall.

von vlad (Gast)


Lesenswert?

> Das ist nicht oft der Fall.
lol

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.