[elektro] long double pic to pc

Huszti András kyrk.5.dpg.hu at freemail.hu
Tue Feb 19 13:39:19 CET 2013


Hello,

Elso lepeskent meg kell nezni, hogy a PICen es PCen letezik-e az adott adattipus, vagy letezik-e olyan ami meretet illetve felbontasat tekintve kompatibilis. Nyilvan char, int, long int es long int eseten ezt konnyu megallapitani. Double es float eseten ez mar nehezebb mert ellenorizni kell, hogy a formatum egyezik-e. En C# PC es PIC C kozott vittem at double-t es a forditok doksia szinte mindketto a szabvany szerint mukodik.

Masodik lepeskent meg kell nezni az endiannesst. Nehogy megtrukkozzon hogy mindig valami salata jon at :)

Long double-t meg soha nem hasznaltam. Ellenoriznem, hogy az veletlenul a PIC-en nem sima double. Nem ismerem ezt az adattipust.

Tehat ha megvan az adat PIC-en akkor eloszor memcpy egy char tombbe. Aztan endianneskorrekcio ha szukseges es lehet kuldeni a PC-nek. A PC-n ha megerkezik a char tommbe akkor memcopy akkor megint endianneskorrekcio ha szukseges es kesz az adat.
Miert kell ketszer endiannaskorrekcio? Mert az egeszben 3 fele endiannes van. A  PIC-e, a PC-e es az atviteli kozege. Pl a PIC es PC lehet azonos, de ha valaki rosszul specifikalja a buszon az adatokat akkor oda is korrekcio szukseges. Nyilvan ha a PC es PIC azonos akkor az atviteli kozegen levo endiannest is praktikusan azonosra valasztjak igy megsporolva az egesz endianneskonverziot ami kessobb majd visszacsap mert jon egy masik rendszer es a programot at kell irni hegyirul tovire.

"Ekati Bt." <ekati at kabelszat2002.hu> írta:
>Sziasztok!>
>
Valaki el tudná nekem magyarázni a PIC-en a long double számok >
ábrázolását? PIC és PC között kellene utaztatni ilyen értékeket és >
gondom van a konverziókkal. Hogyan lesz a PIC-ből küldött nyolc byte-ból >
a PC-n egy valós szám, illetve fordítva? Kerülném az sprinf-et.>
Előre is köszönöm!>
>
NagyZé>
>
----------------------------------------->
          elektro[-flame|-etc]>




More information about the Elektro mailing list