Jedna lepiaca (ako spojit dva bajty do int)

Josef Štengl ok1ced na nagano.cz
Čtvrtek Leden 5 13:26:29 CET 2017


To záleží na tom, co si představujete pod typem byte :-)

Dne 5.1.2017 v 11:22 balu napsal(a):
> 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
>
> _______________________________________________
> 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