Olle_Filzlaus
14.08.2007, 10:14
Hallo,
ich lese einen 12bit AD-Wandler mittel I2C Bus aus. Das funzt prächtig. Geht von 0 - 4096.
Die Werte werden aber in zwei Arbeitsschritten abgeholt und sind jeweils 8bit lang.
Einmal bekomme ich Steuerbits (y, sind immer gleich) und die oberen Werte (x) und dann extra nochmal die unteren Werte (x).
Also yyyyxxxx und xxxxxxxx
Jetzt will ich von dem ersten Byte die letzten 4 stellen nehmen und das mit dem zweiten zusammmen rechnen und die zahl zum rechnen nehmen.
ich habe das mit der umwandlung in eine string versuch und die letzten stellen wollte ich zum weiterrechnen benutzen. habe das aber nicht hinbekommen. irgendwie hätte ich jabeide zahlen in einen string umwandeln müssen. das rechnen geht aber mit strings nicht.
als zweites habe ich das mit dem & versucht. also 00001111 und yyyyxxxx ergeben ja die letzen 4 stellen. damit hätte ich ne normale zahl mit xer ich die andere adddieren kann. Aber irgendwie habe ich es so auch nicht hinbekommen.
zur zeit gebe ich die zahlen einzeln per rs232 aus und rechne die in nem kleinen delphi perogrammm aus und gebe den großen wert wiedder zurück. aber das uss doch auch kleiner und leichter im Atmega gehen.
Habt ihr ne Idee wie ich die Zahlen zusammen bekommme? Habe schon im Netz und im Forum gesucht, aber habe nichts passendes gefunden.
thx for help
Arno
ich lese einen 12bit AD-Wandler mittel I2C Bus aus. Das funzt prächtig. Geht von 0 - 4096.
Die Werte werden aber in zwei Arbeitsschritten abgeholt und sind jeweils 8bit lang.
Einmal bekomme ich Steuerbits (y, sind immer gleich) und die oberen Werte (x) und dann extra nochmal die unteren Werte (x).
Also yyyyxxxx und xxxxxxxx
Jetzt will ich von dem ersten Byte die letzten 4 stellen nehmen und das mit dem zweiten zusammmen rechnen und die zahl zum rechnen nehmen.
ich habe das mit der umwandlung in eine string versuch und die letzten stellen wollte ich zum weiterrechnen benutzen. habe das aber nicht hinbekommen. irgendwie hätte ich jabeide zahlen in einen string umwandeln müssen. das rechnen geht aber mit strings nicht.
als zweites habe ich das mit dem & versucht. also 00001111 und yyyyxxxx ergeben ja die letzen 4 stellen. damit hätte ich ne normale zahl mit xer ich die andere adddieren kann. Aber irgendwie habe ich es so auch nicht hinbekommen.
zur zeit gebe ich die zahlen einzeln per rs232 aus und rechne die in nem kleinen delphi perogrammm aus und gebe den großen wert wiedder zurück. aber das uss doch auch kleiner und leichter im Atmega gehen.
Habt ihr ne Idee wie ich die Zahlen zusammen bekommme? Habe schon im Netz und im Forum gesucht, aber habe nichts passendes gefunden.
thx for help
Arno