| Version 8 (modified by , 7 years ago) ( diff ) |
|---|
Analog Output (DAC Digital to Analog Conversion) Functions
Example - Application manually setting DAC output voltage
const int nDAC = 1; // First DAC card
// Application should call this when starting up to initialize the DAC output
void SetupDAC(void)
{
// Setup DAC to not track gross or net weight but be controlled manually
if(SetDACTrackScale(nDAC, 0, dacTrackGross, WAIT_ACK) != OK)
printf("\n\nSetDACTrackScale error\r\n");
DACOutputRange outputrange = dacOutput0to10V;
if(SetDACReg(nDAC, dacAD5422Control, 0x3FF0 | (uint16)outputrange, WAIT_ACK) != OK)
printf("\n\nSetDACOutputRange error\r\n");
float fMaxOutput = 10.0; // Maximum output 10 volts
if(SetDACFloat(nDAC, dacMaxOutput, fMaxOutput, WAIT_ACK) != OK)
printf("\n\nSetDACFloat max output error\r\n");
}
// Application may call this any time change in voltage output is desired
void SetDACVoltage(float voltage)
{
// The DAC output is controlled by a 16 bit register so we multiple the maximum 16-bit value 0xFFFF times output percentage/100 desired.
// For example maximum 10 V would be 0xFFFF * (10.0 / 10.0) = 0xFFFF * 1.0 = 0xFFFF, 5V would be 0xFFFF * (5.0 / 10.0) = 0xFFFF * 0.5 = 0x8000
uint16 value = (uint16)(0xFFFF * (voltage / 10.0));
SetDACReg(nDAC, dacAD5422Data, value, WAIT_ACK);
}
Note:
See TracWiki
for help on using the wiki.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/cardinal.gif)