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
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
|
|
|