32 lines
931 B
C
32 lines
931 B
C
#ifndef __DACS_H__
|
|
#define __DACS_H__
|
|
#ifdef DACSS
|
|
#include "dac.h"
|
|
#endif
|
|
#include "lib.h"
|
|
#include "main.h"
|
|
/**
|
|
* @brief DAC输出宏定义
|
|
*/
|
|
#define DAC_OUT(DACx, DAC_Channel, Data) \
|
|
do \
|
|
{ \
|
|
LL_DAC_ConvertData12RightAligned(DACx, DAC_Channel, Data); \
|
|
LL_DAC_TrigSWConversion(DACx, DAC_Channel); \
|
|
} while (__LINE__ == -1)
|
|
|
|
#define DAC_START(DACx, DAC_Channel) LL_DAC_Enable(DACx, DAC_Channel) // 启动DAC
|
|
#define DAC_STOP(DACx, DAC_Channel) LL_DAC_Disable(DACx, DAC_Channel) // 停止DAC
|
|
|
|
/**
|
|
* @brief DAC结构体定义
|
|
*/
|
|
typedef struct DACS
|
|
{
|
|
DAC_TypeDef *dac; // DAC寄存器指针
|
|
uint16_t dac_channel; // DAC通道选择
|
|
|
|
void (*out)(struct DACS *dac, uint16_t value); // 输出函数指针
|
|
} dac_t;
|
|
#endif
|