Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
 

92 řádky
3.0 KiB

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 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__ */