C makro v makru

Tomáš Hamouz hamouz na divesoft.cz
Pondělí Červen 20 14:57:23 CEST 2016


Pokud jste to už nevyřešil, tak problém je v tom že se při prvním
průchodu provede spojení tokenů a původní makro se už nenajde.

Musíte to udělat nadvakrát

#define Can1_TxPin_PPS  PPS_RP101
#define PPSOutput(a,b)  PPSOutput_helper(a,b)
#define PPSOutput_helper(a,b)  (NejakaFunkce(a,OUT_PIN_##b))


Tomáš



> Zdravim,

> mam definovane makro:
> #define Can1_TxPin_PPS  PPS_RP101

> pak mam nekde dale makro :
> #define mCAN1_SetPins()       \
>    PPSUnLock;         \
>    PPSOutput( PPS_C1TX, Can1_TxPin_PPS );  \
>    PPSLock;

> prekladac mi v tom druhem makru nedosadi za Can1_TxPin_PPS hodnotu 
> PPS_RP101,
> ale ponecha tam puvodni nazev makra.

> LOG: ../ecan1_config.c:310:2: error: 'OUT_PIN_Can1_TxPin_PPS' undeclared
> (first use in this function)

> Mam nejakou sanci ho donutit k vlozeni makra do makra ?
> Diky predem za nasmerovani.

> dsPIC, XC16 v1.26

> s přáním hezkého dne / Best regards
> Tomáš Chvátal
> tchvatal na fordiag.cz

> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list