[elektro] C tesztsor makróban ?
hg12345
hg12345 at freemail.hu
Mon Dec 21 12:41:32 CET 2015
Egy kérdésem azért lenne, milyen fordító, mert a normál C-ben így hivatkozni bitre nem láttam.
Kivéve a CORTEX M3 feletti eszközöknél, ahol van HW bitbanding
valamin belül szeretnél ilyet csinálni
#define bittoggle(valtozo,bitno) valtozo^=1<<bitno
arra érdemes ügyelni, ha a változót "volatile" határozd meg, egyébként optimalizálás után a debugban érdekes dolgok történhetnek. :-()
elight <elight at gmail.hu> írta:
>Ez szimpi, de hogy lesz meg a togle bit egy sorban (makróban)?
>( ..lehet még mindig nem ébredtem fel teljesen? )
>
>A lényeg ahányszor ráfutok egy makróra ,
> fordítsa meg a paraméterben szereplő számú port bitet.
>
>Üdv István
>2015-12-21 11:37 keltezéssel, hg12345 írta:
>> #define outbit_Bx(no,val) outbit_B##no = val
>>
>> pl:
>> outbit_Bx(4,0) kifejtve:
>> outbitB4=0
>>
>>
>> Vigyázz a "no" stringként kerül helyettesítésre! váltózó nem adható neki!
>>
>>
>> erre gondoltál?
>>
>> elight <elight at gmail.hu> írta:
>>> 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]
>
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list