[elektro] C kérdés

hg12345 hg12345 at freemail.hu
Mon Dec 20 16:57:43 CET 2010


Természetesen így csináltam meg. (Nem igazán elegáns!)
Ennek egy komoly baja van, kétszeres definició miatt a módosításokkal nagyon vigyázni kell.
Az offsetof típusu eltolás kinyerése a struktutából biztos nem megy, mert ezt a strukturát futási időben definiálja a program.... A fordítási eredmény ugyan az lesz.

Info <info at kiralyelektronika.hu> írta:
>> Természetesen kipróbáltam mit írtál.>
>
Ok. Akkor már csak egy baj lehet: a típust nem hajlandó offszetként>
konstansnak átadni. Szóval akkor a kövit használhatod csak:>
>
#define TIM_CR1    0>
#define TIM_CR2    4>
#define TIM_SMCR   8>
#define TIM_DIER   12>
#define TIM_SR     16>
#define TIM_EGR    20>
#define TIM_CCMR1  24>
#define TIM_CCMR2  28>
#define TIM_CCER   32>
#define TIM_CNT    36>
#define TIM_PSC    40>
#define TIM_ARR    44>
#define TIM_RCR    48>
#define TIM_CCR1   52>
#define TIM_CCR2   56>
#define TIM_CCR3   60>
#define TIM_CCR4   64>
#define TIM_BDTR   68>
#define TIM_DCR    72>
#define TIM_DMAR   76>
>
#define TIM2_BASE       (APB1PERIPH_BASE + 0x0000)>
>
#define  HwPwm1Reg      (TIM2_BASE + TIM_CR2)>
#define  HwPwm2Reg      (TIM2_BASE + TIM_CR3)>
#define  HwPwm3Reg      (TIM2_BASE + TIM_CR1)>
>
__IO uint16_t* HWPwmPointerArray[]  = { (__IO uint16_t*) HwPwm1Reg,>
                                        (__IO uint16_t*) HwPwm2Reg,>
                                        (__IO uint16_t*) HwPwm3Reg  };>
>
>
Esetleg a compiler manualjában kereshetsz belső "sizeof"-hoz hasonló>
offsetet visszaadó utasítást, és azzal megpróbálhatsz konstanst>
konvertálni a struktúra-elemből.>
>
----------------------------------------->
          elektro[-flame|-etc]>



More information about the Elektro mailing list