Go to the documentation of this file. 18 #define bit_set(reg, bit_val) reg |= (1 << bit_val) 19 #define bit_clr(reg, bit_val) reg &= (~(1 << bit_val)) 20 #define bit_tgl(reg, bit_val) reg ^= (1 << bit_val) 21 #define get_bit(reg, bit_val) (reg & (1 << bit_val)) 22 #define get_reg(reg, msk) (reg & msk) 27 #define enable_RTC_overflow_interrupt(mode) RTC_CRHbits.OWIE = mode 28 #define enable_RTC_alarm_interrupt(mode) RTC_CRHbits.ALRIE = mode 29 #define enable_RTC_second_interrupt(mode) RTC_CRHbits.SECIE = mode 31 #define get_RTC_operation_state() get_bit(RTC_CRL, 5) 33 #define get_RTC_configuration_state() get_bit(RTC_CRL, 4) 34 #define set_RTC_configuration_flag(mode) RTC_CRLbits.CNF = mode 36 #define get_RTC_register_sync_state() get_bit(RTC_CRL, 3) 37 #define clear_RTC_register_sync_state_flag() bit_clr(RTC_CRL, 3) 39 #define get_RTC_overflow_flag_state() get_bit(RTC_CRL, 2) 40 #define clear_RTC_overflow_flag() bit_clr(RTC_CRL, 2) 42 #define get_RTC_alarm_flag_state() get_bit(RTC_CRL, 1) 43 #define clear_RTC_alarm_flag() bit_clr(RTC_CRL, 1) 45 #define get_RTC_second_flag_state() get_bit(RTC_CRL, 0) 46 #define clear_RTC_second_flag() bit_clr(RTC_CRL, 0) 51 #define set_RTC_prescalar(value) do{RTC_PRLL = 0; RTC_PRLH = 0; RTC_PRLL = (0xFFFF & value); RTC_PRLH = (value >> 16); }while(0) 56 #define set_RTC_prescalar_divider(value) do{RTC_DIVL = 0; RTC_DIVH = 0; RTC_DIVL = (0xFFFF & value); RTC_DIVH = (value >> 16); }while(0) 61 #define set_RTC_counter(value) do{RTC_CNTL = 0; RTC_CNTH = 0; RTC_CNTL = (0xFFFF & value); RTC_CNTH = (value >> 16); }while(0) 66 #define set_RTC_alarm(value) do{RTC_ALRL = 0; RTC_ALRH = 0; RTC_ALRL = (0xFFFF & value); RTC_ALRH = (value >> 16); }while(0) 71 #define enable_LSI(mode) RCC_CSRbits.LSION = mode 72 #define LSI_ready() get_bit(RCC_CSR, 1) 74 #define set_backup_domain_software_reset(mode) RCC_BDCRbits.BDRST = mode 75 #define enable_RTC_clock(mode) RCC_BDCRbits.RTCEN = mode 78 #define LSE_clock 0x01 79 #define LSI_clock 0x02 80 #define HSE_by_128_clock 0x03 82 #define select_RTC_clock_source(value) do{RCC_BDCR &= (~(0x3 << 8)); RCC_BDCR |= (value << 8);}while(0) 83 #define bypass_LSE_with_external_clock(mode) RCC_BDCRbits.LSEBYP = mode 84 #define LSE_ready() get_bit(RCC_BDCR, 1) 85 #define enable_LSE(mode) RCC_BDCRbits.LSEON = mode