You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

257 lines
4.5 KiB

/**
******************************************************************************
* @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