Jedna lepiaca (ako spojit dva bajty do int)
balu
balu na k-net.fr
Čtvrtek Leden 5 11:22:49 CET 2017
A funguje to, ak ide o dve casti cisla zakodovaneho v 2's complement?
> On 5. 1. 2017, at 11:20, Petr Zapadlo <zapik na email.cz> wrote:
>
> vzal bych to strašně jednoduše:
>
> int vysledek=blow+(bhigh*256);
>
> Petr
>
>
> Dne 5.1.2017 v 11:09 balu napsal(a):
>> 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
>> }
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list