[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