C

Mar 26, 2007 8 Replies

kako natjerati dva byte-a u "unsigned int" u C-u? Sa seriskog porta pokupim dva byte-a za redom i kako ih staviti u integer (unsineg+d)? Inaèe ne ¾elim koristiti scanf()!U asembleru nema problema , ali u C-u neznam kako gdje ih postaviti i onda reæi da je to integer sa dva byta od kojeg je ovaj LSB a drugi MSB?



Hvala


Buiæ Bojan www.pulainzenjering.hr

unsigned short spoji (unsigned char a, unsigned char b) { return (a

Hvala ,sa char-om obilje¾ava¹ da se radi o jednom byte-u?

"co>> kako natjerati dva byte-a u "unsigned int" u C-u? Sa seriskog porta

A preprocesor? #define bytes2int(x,y) ((x

Kompajleri koji rade sa "byte" varijablama nisu po standardu.

Jednostavno, ovako me nije briga. Imam funkciju koja mi vrati trazeno. Inace po navici izbjegavam #define (nikakav poseban razlog, cisto ne svidja mi se i bog).

"inz" je napisao u poruci interesnoj grupi:eu8mdd$41h$ snipped-for-privacy@ss408.t-com.hr...

rtfh.

Hehe.

#define zna biti kriptièan i te¾e se odr¾ava ako koristi¹ tuði kod, ali nekada mi je korisniji od funkcija, naroèito za ovakve sitne stvari i koje se pozivaju jednom ili uvijek sa istog mjesta (zbog copy/paste principa kod rada s preprocesorom)

Verzija s preprocesorom:

#define byte2int(x,y) ((x

Ma ok je to sto pricas, no vecinom mi posao zahtjeva da istovremeno razvijam u ICCAvr-u makinu i PC aplikaciju u Delphi-ju pa mi je razmisljanje vise na strani ovog drugog :) Zato i jesam zadovoljan sa ICCAvr-om jer kad ukljucim code compressor on takve stvari sasvim lijepo sabije. S druge strane, samo jednom do sada sam bio u prilici gledati ustedu bas svakog bajta - ovdje (PIC 16F628, assembler, bukvalno 2 bajta slobodna) :

formatting link

============================================= Rasprodaja elektronskih dijelova i sklopova PONUDA 20.03.2007. USB adapteri www.geocities.com/plavironhill =============================================

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required