3 byte to long
3 byte to long
Zdravím před Silvestrem.
prosím o radu, nemohu dát dohromady číslo a nevím, jak s tím.
Jde mi o nastavení proměnné pro barvu WS2812, kterou chci tvořit z proměnných
mám byte RR (0 - 255) a to samé byte GG a byte BB - jako to udělat aby výsledek byl COLOR = 0xRRGGBB
díky
prosím o radu, nemohu dát dohromady číslo a nevím, jak s tím.
Jde mi o nastavení proměnné pro barvu WS2812, kterou chci tvořit z proměnných
mám byte RR (0 - 255) a to samé byte GG a byte BB - jako to udělat aby výsledek byl COLOR = 0xRRGGBB
díky
Re: 3 byte to long
Jejda... jdu to zkusit
dík
dík
Re: 3 byte to long
OJ KDE MÁM CHYBU?
Ty byte mám RR=0xAA GG=0xBB BB=0xCC
a výsledek je :
0xA9BBCC

Ty byte mám RR=0xAA GG=0xBB BB=0xCC
a výsledek je :
0xA9BBCC

Re: 3 byte to long
HA HEUREKA !
já to měl jako byte, to nefungovalo, pak jako int, to taky nefungovalo.
Díky za radu - s uint16_t to šlape
asi se to nikdy nenaučím, co se k sobě hodí za formáty.
Tak hezkého Silvestra !
já to měl jako byte, to nefungovalo, pak jako int, to taky nefungovalo.
Díky za radu - s uint16_t to šlape

Tak hezkého Silvestra !
Re: 3 byte to long
Já osobně cítím jako intuitivnější takovýto zápis

Kód: Vybrat vše
unsigned long COLOR=RR*0x10000+GG*0x100+BB;
Re: 3 byte to long
Další způsob jak to tam naládovat je pomocí bitových posuvů
Kód: Vybrat vše
unsigned long COLOR = ((RR<<8)+GG<<8)+BB;
-
- Příspěvky: 1011
- Registrován: 06 zář 2017, 20:04
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: 3 byte to long
uint16_t je totéž jako unsigned integer
Je to jen zkrácený zápis. Nehledej v tom nic jiného.
Re: 3 byte to long
Není "uint16_t" málo, když se tam má nacpat 24-bitové číslo?
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti