[elektro] C tesztsor makróban ?

elight elight at gmail.hu
Mon Dec 21 12:46:01 CET 2015


Most PIC-re

de azért írtam a mintapéldát mert az a szerkezet
  működik..  Mivel nincs bit-mód, éppen hogy jó lenne
az előfordítós,   makrós,  string szerű behelyettesítés...
Majd délután nekilátok.. most csak érdeklődtem
és ötletek után nézelődtem..

Egyébként Mikroc-t használok, Picre - Armra jót..

Üdv István

2015-12-21 12:41 keltezéssel, hg12345 írta:
> 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]
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list