Hirdetés

Új hozzászólás Aktív témák

  • axioma
    veterán

    Húú annyi információt kaptam, hogy még jobban össze zavart.
    Tehát a lényeg, hogy van egy memória területem amiben 32bájt helyem van.
    A 32bájt helyre szeretném elmenteni a következőket.:
    2-3 karakter a sor azonosító, egy speciális karakter és egy szám 0-14-ig (#0-#14)
    16 karakter a név, (min 3 - max 16) 16bájt
    6 számérték a hőprofil, (1-255) 6x1bájt
    6 számérték az időprofil, (1-255) 6x1bájt
    1 számérték az alsó fűtés (1-1023) 2bájt

    A számadatok unsigned int változóba a karakterek unsigned char változóba vannak jelenleg elmentve és így működik is ahogyan szeretném, de véleményem szerint sok memóriát emészt fel és szeretnék spórolni a felhasználható programmemóriával. (mikrokontroller)
    A kérdésem arra irányul, hogy ezen adatokat egy unsigned char változóba is beírhatom úgy hogy a számértékek mint pl.: 255 az maximum 1bájt-ot foglaljanak?
    Vagy ez nem megoldható.
    Nem tudom mennyire érthető a kérdésem...

    Par dolgot nem ertek.
    1. ha sporolni akarsz, es raadasul egyszerubben olvashato tarteruletet, akkor miert 2-3 (valtozo hossz!) karakter a sorszam, mikor befer egy byte-ba (sot, ha hexa jegykent irod le, akkor ugymond olvashato formaban is marad '1'..'9','A',...)?
    2. miert nem a nev hosszan sporolsz (felteszem nem kell annyira kifejezonek lennie, regen 8 (max+3)-ba mi minden belefert :) )
    3. most akkor hogyan 6 byte a ho- es idoprofil (ott karakteresen tarolsz szamot, es egy tol-ig ahol mindket szelso lehet 3 jegyu?), de 2 byte szamabrazolt az also futes? nekem maga az eredeti elkepzeles nem konzisztens

Új hozzászólás Aktív témák