[elektro] C kérdés

Info info at kiralyelektronika.hu
Mon Dec 20 09:19:32 CET 2010


> 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.



More information about the Elektro mailing list