typedef struct RTC_SR1 {
union {
struct {
uint16_t reserved0 : 7;
uint16_t WPNDCR0 : 1; /**< Pending status of posted writes to RTC Control 0 Register */
uint16_t WPNDSR0 : 1; /**< Pending status of posted clearances of interrupt sources in RTC Status 0 Register */
uint16_t WPNDCNT0 : 1; /**< Pending status of posted writes to RTC Count 0 Register */
uint16_t WPNDCNT1 : 1; /**< Pending status of posted writes to RTC Count 1 Register */
uint16_t WPNDALM0 : 1; /**< Pending status of posted writes to RTC ALARM 0 Register */
uint16_t WPNDALM1 : 1; /**< Pending status of posted writes to RTC ALARM 1 Register */
uint16_t WPNDTRM : 1; /**< Pending status of posted writes to RTC Trim Register */
uint16_t reserved14 : 2;
};
uint16_t VALUE16;
};
} RTC_SR1;
위의 코드는 4 byte 짜리 구조체를 선언하였습니다. 4 byte 구조체에서 8 번째 1 bit, 9번째 1 bit 를 사용하기 위해서는 위와 같이 union 으로 4 byte 를 공용해서 사용하면 사용이 매우 수월해지네요.
RTC_SR1.WPNDCR0 = 0 과 같이 사용이 가능합니다.