mam nastêpuj±cy problem: urzdzenie z którym siê komunikuje przesy³a mi dane w postaci zmiwennoprzecinkowej. klopot w tym, ze float'a dostaje w formie 4 bajtow, ktore trzeba jakos z³o¿yæ do kupy zeby dostac floata. potem tego floata chce wyswietlic na lcd, a to nastêpny problem bo oczxywiscie moge wyswietlac tylko pojedyncze bajty.
podejrzewam ze jak mi siê uda to "z³o¿yc" to dam rade funkcja printf wyswietlic dane, ale za cholere nie wiem jak tego dokonac. float nie pozwala na opercaje bitowe.
pomozcie :)
Didn't find your answer? Ask the community — no account required.
I
invalid unparseable
Witaj U¿ywam do tego prostej sztuczki. Kompilator, co prawda generuje ostrze¿enie o niedozwolonej konwersji typu, ale sobie z tym radzi i program dzia³a poprawnie. Napisa³em krótki programik, który to zobrazuje. W pierwszej czê¶ci dokonuje rozdzia³u liczby float na elementy typu unsigned char i umieszcza je w tablicy. W drugiej czê¶ci odwrotnie: obiekty typu char z tablicy, konwertuje na float.
pozdrawiam: rjk "józek" Department of Electrical and Computer Engineering
U¿ytkownik "DrGreen" snipped-for-privacy@acn.waw.pl> napisa³ w wiadomo¶ci news:cteqjj$2gbg$ snipped-for-privacy@mamut1.aster.pl...
K
Krzysztof Rudnik
Dodac rzutowanie i nie bedzie ostrzezenia.
Nie prosciej memcpy(&moja_zmienna, tablica, sizeof(moja_zmienna)); Petla moze byc wskazana jesli np. nie zgadza sie kolejnosc bajtow.
Tyle to zadziala o ile format tego transmitowanego floata zgadza sie z formatem stosowanym w bibliotece. Sa jakies standardy wiec spora szansza ze zadziala.
Krzysiek Rudnik
I
invalid unparseable
Tak jest prostszy zapis, ale jak wykorzystaæ t± funkcjê w drug± stronê, bez zbêdnych przekszta³ceñ - tzn.zmienn± typu float za³adowaæ do tablicy o argumentach typu unsigned char? Drugi argument memcpy() jest definiowany jako const.