#ifndef _DAC_H_ #define _DAC_H_ #include "task.h" #define _USE_DAC8560 #undef _USE_DAC8560 #define PIN_SYNC PA4_O #define PIN_SCLK PA5_O #define PIN_DIN PA7_O #define R_SENSOR 5L //检测电阻 #define MAX_CURRENT 500L //最大电解电流 #define FREQ_PER_MV (100000UL/2000UL) //每mv对应的频率 #ifdef _USE_DAC8560 #define MAX_DAVALUE 0x7FFFUL #define DACREF 2500UL //mV #define MAX_DAVOLTAGE 2500UL //mV #define MAXDACOUT ((MAX_CURRENT*R_SENSOR*0xFFFF)/2500) #else #define MAX_DAVALUE 0xFFFUL #define DACREF 5000L #define MAX_DAVOLTAGE 2500UL //mV #define MAXDACOUT ((MAX_CURRENT*R_SENSOR*0xFFF)/2500) #endif ///////////////////////////////////////////////////////////// #define DEFAULT_K 1.0f #define DEFAULT_C 0.0f /////////////////////////////////////////////////////////////// void StartDigitalDJ(int iDJCurrent); void StartDigitalDJ_ADV(double DACValue); void StopDJ(void); void StopDigitalDJ(void); void InitIntegrator(void); void TaskIntFreq(void); void ResetIntFreq(void); double mA2DAValue(double mA); int DAValue2mA(int DAValue); double GetTrueDAValByKC(double mAValue); double GetTrueDAValByKC_InDAValue(double DAValue); void InitDAC(void); void DACOut(UINT gcByte); void Cal_K_And_C(double WantmA,double RealmA); #define paramK (IED.DAC_Param.Ka) #define paramB (IED.DAC_Param.C) #endif