[elektro] adattípusok encoder
Lajos Rancz
lajos.rancz at gmail.com
Wed Jul 25 10:16:05 CEST 2012
Alap: http://abstrusegoose.com/249
2012. július 25. 10:06 Elight írta, <elight at gmail.hu>:
> Hi!
>
>
> Azt én is nagyon szeretem ,
> ha a az történik amit elsőre elgondoltam..
>
> Ja
> és a C++ meg annyira, nem tudtam még megkedvelni.
>
> Talán ahhoz ujra jkellene születnem ! :)
>
>
>
> Ha már témázunk ezeken:
>
> Az lenne a kérdésem,
> ( mert a típuskényszerítésekbe mindig erősen belegabalyodok.. )
>
> Hogy van mondjuk egy encoderem,
> ami egy regiszter értékét buzrálja.. ( + - )
>
> Limitálom a működését is
>
> tehát
>
> int Encoder_Buff = 0;
> int Encoder_Min = -200; // Minimál hömérséklet * 10 ( -20Cfok )
> int Encoder_Max = 1000; // Maximál hőmérséklet * 10 ( +100Cfok )
> int* pEncoder_Buff = &Encoder_Buff;
>
>
> és pointerrel az int-ben változtatom
>
> *pEncoder++; vagy *pEncoder--;
>
> Ez prímán működik.
> És lehet többdimenziós tömben is lépegetni a változókon
> táblázatosan, ahogy kell..
>
> De ha némely tömb-elembe pl nem előjeles számot teszek,
> tehát unsigned char-t vagy uint-et
> akkor van hogy megkeveredik az egész..
>
> Ezt le lehet egy változóban becsületesen kezelni?
>
> Jelenleg úgy oldottam meg , hogy négy változót kezelek párhuzamosan
> tehát minden adattípusra, amit használhatok van
> egy - egy strukturám.
>
> pl egy konkrét elemnél nézve
>
> unsigned char uEncoder_Buffer;
> char cEncoder_Buffer;
> unsigned int iEncoder_Buffer;
> int i_EncoderBuffer;
>
> Tudom nem elegáns, (sőőt sörnyűű )
> de eddig minden körülménye között
> tökéletesen működik.
> És azért mégis..
> Lehet ennek más korrektebb módja is?
> Hirtelen valamiféle típusnélküli pointerel gondolnám,
> (sajna ebben a témakörben nem negyon mozgok otthonosan .)
>
> Üdv István
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Üdv István
>
>
> 2012.07.25. 09:39:31 dátumon Lajos Rancz <lajos.rancz at gmail.com> írta:
>
> > Helló!
> >
> > Az a baj a C++-al, hogy érteni kell hozzá nagyon :) Az operátor
> > overloading
> > szép dolog, de azért vannak hátulütői, pl az alábbi szándékosan sarkított
> > példában:
> >
> > class selftype
> > {
> > const int NUM = 1000;
> > int arr[NUM];
> > public:
> > ....
> > selftype() { // jo bonyolult, hosszu es lassu konstruktor }
> > ....
> > selftype& operator+(const sefltype& o)
> > {
> > for (int i = 0; i < NUM; ++i) arr[i] += o.arr[i];
> > return *this;
> > }
> > }
> >
> > selftype a,b,c,d;
> > a = ...;
> > b = ...;
> > c = ...;
> > d = a+b+c;
> > ^^^^
> > itt létre fog jönni egy temporális elem (nagyon lassan) ami rögtön meg is
> > szűnik. Szóval szebb lesz tőle a kód, de csínyján kell vele bánni és
> > nagyon
> > tudni mit csinál az ember.
> >
> > Üdv
> >
> > 2012. július 25. 0:10 Info írta, <info at kiralyelektronika.hu>:
> >
> >> > Ertem, akkor eszerint legalabb jol ertettem a problemat :)
> >> > Hat C-ben az operatorok felulirasa nem fog menni, csak C++-ban, ha van
> >> > C++ forrdito a platformodra.
> >> > Persze ha van az adott platformra opensource fordito (gcc, sdcc),
> >> > akkor bele lehetne hackolni, de nem hiszem, hogy egerne...
> >> > Milyen platform ez egyebkent?
> >>
> >> Cortex-M sorozatra kellene. Támogatja a fordítóm a C++-t (csak én
> >> utálom nagyon :)
> >>
> >> Tudnál linket adni vagy hogy hogyan keressek rá ?
> >> Ezer év távlatból rémlik valami, de csak a stdiora meg memmgr-re
> >> emlékeztem, operátorra nem...öreg vagyok már ehez :)
> >>
> >>
> >> -----------------------------------------
> >> elektro[-flame|-etc]
> >>
> > -----------------------------------------
> > elektro[-flame|-etc]
>
>
> --
> Az Opera forradalmian új levelezőjét használva: http://www.opera.com/mail/
>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list