/** ****************************************************************************** * @copyright Copyright (C), 2016-2022, ConvenientPower. Co., Ltd. * @file drv_dac.h * @version 1.0 * @author qing.cheng * @date 2022-10-28 * @brief Header file of DRV_DAC_H module. ****************************************************************************** */ #ifndef _DRV_DAC_H_ #define _DRV_DAC_H_ #include "core_comm.h" #include "drv_comm.h" #include "dac_ctrl_define.h" #include "analog_define.h" #define DAC_CV_ENABLE BIT_SET(24) #define DAC_CV_SLEWRATE(x) (x << (16)) /* * @brief drv_dac_ctrl_cv0_cfg_word} * @param word * @note * @retval null */ __forceinline void drv_dac_ctrl_cv0_cfg_word(uint32_t word) { REG_DAC_CTRL_CV0_CFG->word = word; } /* * @brief drv_dac_ctrl_cv0_cfg_mask_clr} * @param clr * @note * @retval null */ __forceinline void drv_dac_ctrl_cv0_cfg_mask_clr(uint32_t clr) { REG_DAC_CTRL_CV0_CFG->word &= ~(clr); } /* * @brief drv_dac_ctrl_cv0_cfg_mask_set} * @param value * @note * @retval null */ __forceinline void drv_dac_ctrl_cv0_cfg_mask_set(uint32_t value) { REG_DAC_CTRL_CV0_CFG->word |= value; } /* * @brief drv_dac_ctrl_cv0_val_read * @param null * @note * @retval cv target reg value */ __forceinline uint16_t drv_dac_ctrl_cv0_val_read(void) { return (REG_DAC_CTRL_CV0_VAL->word & 0x7ff); } /* * @brief drv_dac_ctrl_cv1_cfg_word} * @param word * @note * @retval null */ __forceinline void drv_dac_ctrl_cv1_cfg_word(uint32_t word) { REG_DAC_CTRL_CV1_CFG->word = word; } /* * @brief drv_dac_ctrl_cv0_cfg_mask_clr} * @param clr * @note * @retval null */ __forceinline void drv_dac_ctrl_cv1_cfg_mask_clr(uint32_t clr) { REG_DAC_CTRL_CV1_CFG->word &= ~(clr); } /* * @brief drv_dac_ctrl_cv1_cfg_mask_set} * @param value * @note * @retval null */ __forceinline void drv_dac_ctrl_cv1_cfg_mask_set(uint32_t value) { REG_DAC_CTRL_CV1_CFG->word |= value; } /* * @brief drv_dac_ctrl_cv1_val_read * @param null * @note * @retval cv target reg value */ __forceinline uint16_t drv_dac_ctrl_cv1_val_read(void) { return (REG_DAC_CTRL_CV1_VAL->word & 0x7ff); } /* * @brief drv_dac_ctrl_cv2_cfg_word} * @param word * @note * @retval null */ __forceinline void drv_dac_ctrl_cv2_cfg_word(uint32_t word) { REG_DAC_CTRL_CV2_CFG->word = word; } /* * @brief drv_dac_ctrl_cv2_cfg_mask_clr} * @param clr * @note * @retval null */ __forceinline void drv_dac_ctrl_cv2_cfg_mask_clr(uint32_t clr) { REG_DAC_CTRL_CV2_CFG->word &= ~(clr); } /* * @brief drv_dac_ctrl_cv2_cfg_mask_set} * @param value * @note * @retval null */ __forceinline void drv_dac_ctrl_cv2_cfg_mask_set(uint32_t value) { REG_DAC_CTRL_CV2_CFG->word |= value; } /* * @brief drv_dac_ctrl_cv2_val_read * @param null * @note * @retval cv target reg value */ __forceinline uint16_t drv_dac_ctrl_cv2_val_read(void) { return (REG_DAC_CTRL_CV2_VAL->word & 0x7ff); } /* * @brief drv_dac_ctrl_cc0_cfg_word * @param word * @note * @retval null */ __forceinline void drv_dac_ctrl_cc0_cfg_word(uint32_t word) { REG_DAC_CTRL_CC0_CFG->word = word; } /* * @brief drv_dac_ctrl_cc0_cfg_mask_clr * @param clr * @note * @retval null */ __forceinline void drv_dac_ctrl_cc0_cfg_mask_clr(uint32_t clr) { REG_DAC_CTRL_CC0_CFG->word &= ~(clr); } /* * @brief drv_dac_ctrl_cc0_cfg_mask_set * @param value * @note * @retval null */ __forceinline void drv_dac_ctrl_cc0_cfg_mask_set(uint32_t value) { REG_DAC_CTRL_CC0_CFG->word |= value; } /* * @brief drv_dac_ctrl_cc0_val_read * @param null * @note * @retval cc target reg value */ __forceinline uint16_t drv_dac_ctrl_cc0_val_read(void) { return (REG_DAC_CTRL_CC0_VAL->word & 0x7ff); } /* * @brief drv_dac_ctrl_cc1_cfg_word * @param word * @note * @retval null */ __forceinline void drv_dac_ctrl_cc1_cfg_word(uint32_t word) { REG_DAC_CTRL_CC1_CFG->word = word; } /* * @brief drv_dac_ctrl_cc1_cfg_mask_clr * @param clr * @note * @retval null */ __forceinline void drv_dac_ctrl_cc1_cfg_mask_clr(uint32_t clr) { REG_DAC_CTRL_CC1_CFG->word &= ~(clr); } /* * @brief drv_dac_ctrl_cc1_cfg_mask_set * @param value * @note * @retval null */ __forceinline void drv_dac_ctrl_cc1_cfg_mask_set(uint32_t value) { REG_DAC_CTRL_CC1_CFG->word |= value; } /* * @brief drv_dac_ctrl_cc1_val_read * @param null * @note * @retval cc target reg value */ __forceinline uint16_t drv_dac_ctrl_cc1_val_read(void) { return (REG_DAC_CTRL_CC1_VAL->word & 0x7ff); } #endif