c - Peripheral definition -


could please explain following construction beginner:

typedef struct {   __io uint32_t ctrl;     /**< control register               */   __io uint32_t cnt;      /**< counter value register         */   __io uint32_t comp0;    /**< compare value register 0       */   __io uint32_t comp1;    /**< compare value register 1       */   __i uint32_t  if;       /**< interrupt flag register        */   __io uint32_t ifs;      /**< interrupt flag set register    */   __io uint32_t ifc;      /**< interrupt flag clear register  */   __io uint32_t ien;      /**< interrupt enable register      */   __io uint32_t freeze;   /**< freeze register                */   __i uint32_t  syncbusy; /**< synchronization busy register  */ } rtc_typedef;       #define rtc_base     (0x40080000ul) #define rtc          ((rtc_typedef *) rtc_base)     

especially last line

why brackets unusual? * mean? pointer or multiply operator ?

thanks

why brackets unusual? * mean? pointer or multiply operator ?

* here pointer not multiplication operator.

there nothing unusual here macro. type casting address of type struct rtc_typedef


Comments