Jedna lepiaca (ako spojit dva bajty do int)
balu
balu na k-net.fr
Čtvrtek Leden 5 11:09:53 CET 2017
Ked sa uz o tom lepeni ve sroubarne bavime, mal by som jednu zaciatocnicku...
MCP3428 na ktory som sa pytal funguje vyborne, teraz by som rad dalej spracoval data... Po I2C zbernici dostavam data z AD prevodnika, idu po sebe dva bajty, najprv horny a potom spodny. Vystup ma byt signed 16-bitovy integer.
Otazka je ako ich spravne skombinovat do jedneho intu? V tom hnusnom prostredi pre ten hnusny procesor ma int dva bajty, ziadnu portovatelnost na ine platformy nepotrebujem. Mozeme skusit dve riesenia, jedno co bude fungovat v tomto konkretnom pripade a jedno genericke, uplne korektne. Rad by som sa naucil ako nato...
dakujem,
b.
// read channel value
Wire.requestFrom(0x68, 2); // request 2 bytes from slave device #68
while (Wire.available()) { // slave may send less than requested
byte bhigh = Wire.read();
byte blow = Wire.read();
return( ((unsigned int)bhigh << 8) + blow ); <<<--- tutoka
}
Další informace o konferenci Hw-list