[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