/*********************************************************************//** * @brief Read value from General purpose registers * @param[in] RTCx RTC peripheral selected, should be RTC * @param[in] Channel General purpose registers Channel number, * should be in range from 0 to 4. * @return Read Value * Note: These General purpose registers can be used to store important * information when the main power supply is off. The value in these * registers is not affected by chip reset. **********************************************************************/ uint32_t RTC_ReadGPREG (RTC_TypeDef *RTCx, uint8_t Channel) { CHECK_PARAM(PARAM_RTCx(RTCx)); CHECK_PARAM(PARAM_RTC_GPREG_CH(Channel)); /* FIXME return RTCx->GPREGn[Channel]; */ }
/*********************************************************************//** * @brief Write value to General purpose registers * @param[in] RTCx RTC peripheral selected, should be RTC * @param[in] Channel General purpose registers Channel number, * should be in range from 0 to 4. * @param[in] Value Value to write * @return None * Note: These General purpose registers can be used to store important * information when the main power supply is off. The value in these * registers is not affected by chip reset. **********************************************************************/ void RTC_WriteGPREG (RTC_TypeDef *RTCx, uint8_t Channel, uint32_t Value) { CHECK_PARAM(PARAM_RTCx(RTCx)); CHECK_PARAM(PARAM_RTC_GPREG_CH(Channel)); /* FIXME RTCx->GPREGn[Channel] = Value; */ }
/*********************************************************************//** * @brief Write value to General purpose registers * @param[in] RTCx RTC peripheral selected, should be LPC_RTC * @param[in] Channel General purpose registers Channel number, * should be in range from 0 to 63. * @param[in] Value Value to write * @return None * Note: These General purpose registers can be used to store important * information when the main power supply is off. The value in these * registers is not affected by chip reset. **********************************************************************/ void RTC_WriteGPREG (LPC_RTC_Type *RTCx, uint8_t Channel, uint32_t Value) { uint32_t *preg; CHECK_PARAM(PARAM_RTCx(RTCx)); CHECK_PARAM(PARAM_RTC_GPREG_CH(Channel)); preg = (uint32_t *)RTC_GPREG_BASE; preg += Channel; *preg = Value; }
/*********************************************************************//** * @brief Write value to General purpose registers * @param[in] RTCx RTC peripheral selected, should be LPC_RTC * @param[in] Channel General purpose registers Channel number, * should be in range from 0 to 4. * @param[in] Value Value to write * @return None * Note: These General purpose registers can be used to store important * information when the main power supply is off. The value in these * registers is not affected by chip reset. **********************************************************************/ void RTC_WriteGPREG (LPC_RTC_TypeDef *RTCx, uint8_t Channel, uint32_t Value) { volatile uint32_t *preg; CHECK_PARAM(PARAM_RTCx(RTCx)); CHECK_PARAM(PARAM_RTC_GPREG_CH(Channel)); preg = (volatile uint32_t *)&RTCx->GPREG0; preg += Channel; *preg = Value; }
/*********************************************************************//** * @brief Read value from General purpose registers * @param[in] RTCx RTC peripheral selected, should be LPC_RTC * @param[in] Channel General purpose registers Channel number, * should be in range from 0 to 4. * @return Read Value * Note: These General purpose registers can be used to store important * information when the main power supply is off. The value in these * registers is not affected by chip reset. **********************************************************************/ uint32_t RTC_ReadGPREG (LPC_RTC_Type *RTCx, uint8_t Channel) { uint32_t *preg; uint32_t value; CHECK_PARAM(PARAM_RTCx(RTCx)); CHECK_PARAM(PARAM_RTC_GPREG_CH(Channel)); preg = (uint32_t *)RTC_GPREG_BASE; preg += Channel; value = *preg; return (value); }
/*********************************************************************//** * @brief Read value from General purpose registers * @param[in] RTCx RTC peripheral selected, should be LPC_RTC * @param[in] Channel General purpose registers Channel number, * should be in range from 0 to 4. * @return Read Value * Note: These General purpose registers can be used to store important * information when the main power supply is off. The value in these * registers is not affected by chip reset. **********************************************************************/ uint32_t RTC_ReadGPREG (LPC_RTC_TypeDef *RTCx, uint8_t Channel) { volatile uint32_t *preg; uint32_t value; CHECK_PARAM(PARAM_RTCx(RTCx)); CHECK_PARAM(PARAM_RTC_GPREG_CH(Channel)); preg = (volatile uint32_t *)&RTCx->GPREG0; preg += Channel; value = *preg; return (value); }