Archiv verlassen und diese Seite im Standarddesign anzeigen : frage zu Variablen
Cybererror
05.01.2010, 22:52
Hallo.
Habe zwei Variablen und brauche von der einen die 8Bits und von der anderen nur ein bit und zwar das erste, Wie bekomme ich die zur einer Variablen mit neun bits?
Versteht ihr mich?
Hallo.
Habe zwei Variablen und brauche von der einen die 8Bits und von der anderen nur ein bit und zwar das erste, Wie bekomme ich die zur einer Variablen mit neun bits?
Versteht ihr mich?
Eine Variable mit neun Bits? So ganz verstehen tu ich das nicht, ehrlich gesagt.
Für was soll das Ganze den sein?
Grüße
Thomas
Cybererror
05.01.2010, 23:21
für Temperatur Messung, es ist zwar nur der wert für ,5
weiß aber nicht wie ich ihn dazu rechne.
lese es über i2c aus erst datenfeld mir 8 bit und beim zweiten datenfeld brauche ich nur das erste bit (was halt über die ,5 Grad aussagt.)
Wenn du das in der Festpunktdarstellungn speichern möchtest (was du anscheinend vor hast), dann multiplizierst du die 8-Bit Variable mit 2 (oder machst einen logischen Schift nach links (<<)) und addierst das Bit aus der zweiten Variable dazu.
Musst halt drauf achten, an welcher Stelle das Bit in der zweiten Variable steht... wenns an erster Stelle steht (bei der 2^0 Stelle), dann kannst du einfach die ganze Variable dazuaddieren, ansonsten musst du dieses Bit eben dahin schieben.
Oder du machst es mit einer abfrage: if(Var2 > 0) then Var1 = Var1 + 1
Nicht vergessen, dass die entstehende variable in einer 16-bit Variable gespeichert werden muss.
Hoffe es hat dir geholfen
Gruß, Yaro
9-bit Byte gibts zubächstmal nicht ... mal abgesehen von UART,
ergo wird die nächst größere Stufe ein Word (16 Bit) fällig.
wenn du nur ein Bit eines Bytes auswerten willt kannst du das
entweder direkt ansprechen über bytevariable.x oder über
Maskierung extrahieren
bytevariable = bytevariable AND &B00000001
wenn du zwei bytes zusammenfügen willst kannst du das
über Makeint oder am Schnellsten über Overlayvariable
dim wordvariable as word at &ha0
dim lowbyte as byte at &ha0 overlay
dim highbyte as byte at &ha1 overlay
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.