[elektro] C tesztsor makróban ?

elight elight at gmail.hu
Mon Dec 21 10:41:47 CET 2015


Köszi, majd próbálkozok...

Eredeti felvetésben arra gondoltam,
hogy az előfordító helyettesítsen be nekem..

tehát ha azt írom hogy tesz_B6 ( vagy teszt_B(6) )

akkor amakró  minden kifejezésében adott betű ( mondjuk x )
helyére a 6-os szám kerülhessen be a makróba.
És akkor nem kell  feltétlen tömböt felvenni.
( Tudom , "mit sprólosz azzal ha nem kell ?"  de ez
     olyan logikai kérdéske féle  is,
        mindenkinek akadhat némi rigolyája : )


Egyébként a lényeg hogy a makró itt lényegesen
javíthatja a olvashatóságot és csak egyetlen helyen
szerepel a programban a definíciója ,
míg a globális  tömb def-je máshol van
mint az alkalmazásai...

Egyébként is,  már túlsok a változóm,
lehet neki kellene állnom "gyomlálni" is ! ;-)

Üdv István






2015-12-21 10:31 keltezéssel, potyo írta:
> Én talán így csinálnám, ha jól értem a feladatot:
>
> const u16 tabla[16]={1, 2, 4, 8, ..., 16384, 32768};
> #define teszt_B(x) (outbit[x] ^= tabla[x])
>
> Nem próbáltam, csak ötlet
>
> elight <elight at gmail.hu> ezt írta (2015. december 21., hétfő):
>
>> Sziasztok.
>>
>> Kicsik nehezen indul a reggel .. ( mármint agyilag :)
>>
>> Mondjuk van egy függvényem:
>>
>>
>>
>> unsigned char  tst_Bx_togle[16];
>>
>> teszt_B( unsigned char bindex )
>> {
>>      if( tst_Bx_togle[ bindex ] == 0 )
>>      {
>> tst_Bx_togle[ bindex ]  = 1;
>>          outbit[bindex] = 1;
>>      }
>>      else
>>      {
>>
>> tst_Bx_togle[ bindex ]  = 0;
>>          outbit_B[bindex] = 0;
>>      {
>> }
>>
>>
>>
>>
>> Valami ilyesmit kellene elkövetnem..
>> De jó lenne ha egysoros makró-ra konvertálható lenne
>> és nem kellene bittömböt felvennem meg biteket forgatnom
>> sem a toglénak , sem a port bitmezőnek.
>>
>> tehát  egy makró utasítást szeretnék beszúrni több biten
>> sok sok helyre.
>>
>> pl.
>> ..
>> teszt_B1;
>> ...
>> teszt_B5;
>> ...
>>
>>
>> Megoldható ez így ,  elegánsosan?
>>
>> Üdv István
>>
>>
>> -----------------------------------------
>>            elektro[-flame|-etc]
>>
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list