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  과 같이 사용이 가능합니다. 

+ Recent posts