// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // File name : dac_drv.h // Version : V0.1 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #ifndef __DAC_DRV_H__ #define __DAC_DRV_H__ #include "dac_reg.h" //#include "test_demo.h" #ifdef DAC_DEMO #define DAC_SYSTICK_INT #define DAC_DMA_INT #endif typedef enum _DAC_DATA_FORMAT_ { LEFTALIGNED_8BITS = 0, LEFTALIGNED_12BITS, RIGHTALIGNED_8BITS, RIGHTALIGNED_12BITS }DAC_DATA_FORMAT; typedef enum _DAC_TRIGGER_SEL_ { TRIGGER_SOFTWARE = 0, TRIGGER_EXTERNAL, TRIGGER_PIT }DAC_TRIGGER_SEL; typedef enum _DAC_EXT_TMOD_ { MOD_RESERVED = 0, DET_ON_RISING = 1, DET_ON_FALLING, DET_ON_BOTH, DET_ON_HIGH, DET_ON_LOW }DAC_EXT_TMOD; /******************************************************************************* * Function Name : DAC_Init * Description : DAC初始化 * Input : -data_format: * LEFTALIGNED_8BITS:8bits左对齐 * LEFTALIGNED_12BITS:12bits左对齐 * RIGHTALIGNED_8BITS:8bits右对齐 * RIGHTALIGNED_12BITS:12bits右对齐 * -trigger_select: * TRIGGER_SOFTWARE:软件触发 * TRIGGER_EXTERNAL:外部触发(SS_SPI6) * TRIGGER_PIT:定时器触发(PIT2) * -external_mode: * DET_ON_RISING:外部触发方式为上升沿 * DET_ON_FALLING:外部触发方式为下降沿触发 * DET_ON_BOTH:外部触发方式为双沿触发 * DET_ON_HIGH:外部触发方式为高电平触发 * DET_ON_LOW:外部触发方式为低电平触发 * Output : None * Return : None ******************************************************************************/ extern void DAC_Init(DAC_DATA_FORMAT data_format, DAC_TRIGGER_SEL trigger_select, DAC_EXT_TMOD external_mode); /******************************************************************************* * Function Name : DAC_Start * Description : DAC启动 * Input : -trigger_select: * TRIGGER_SOFTWARE:软件触发 * TRIGGER_EXTERNAL:外部触发(SS_SPI6) * TRIGGER_PIT:定时器触发(PIT2) * Output : None * Return : None ******************************************************************************/ extern void DAC_Start(DAC_TRIGGER_SEL trigger_select,unsigned int rate); /******************************************************************************* * Function Name : DAC_Wait_Load_Done * Description : DAC等待数据完成 * Input : None * Output : None * Return : None ******************************************************************************/ extern void DAC_Wait_Load_Done(void); extern void DAC_Wait_Load_Cear(void); extern void DAC_SW_Trig(void); extern void Send_DAC_data(unsigned short data); extern void DAC_Systick_ISR(void); extern void DAC_close(void); extern void DAC_Write_Data(UINT16 data); #endif /* __DAC_DRV_H__ */