3.3 Interrupt-Based AD Sample or Scan
Description
Step-By-Step Instructions
Example of Usage for Interrupt-Based A/D Sample or Scan
...
DSCB dscb;
DSCADSETTINGS dscadsettings;
DSCAIOINT dscaioint;
...
/* Step 1 */
// These are example values; your application will vary.
// See DSCADSETTINGS struct and hardware manuals for details.
dscadsettings.current_channel = 0;
dscadsettings.gain = GAIN_1;
dscadsettings.range = RANGE_5;
dscadsettings.polarity = UNIPOLAR;
dscadsettings.load_cal = 0;
/* Step 2 */
if ((result = dscADSetSettings(dscb, &dscadsettings)) != DE_NONE)
return result;
/* Step 3 */
dscaioint.num_conversions = 1024;
dscaioint.conversion_rate = 10000;
dscaioint.cycle = FALSE;
dscaioint.internal_clock = TRUE;
dscaioint.low_channel = 0;
dscaioint.high_channel = 3;
dscaioint.external_gate_enable = FALSE;
dscaioint.internal_clock_gate = FALSE;
dscaioint.fifo_enab = TRUE;
dscaioint.fifo_depth = 256;
dscaioint.dump_threshold = 512;
/* Step 4 */
dscaioint.sample_values = (WORD*) malloc(sizeof(WORD) * dscaioint.num_conversions);
memset(dscaioint.sample_values, 0, sizeof(WORD) * dscaioint.num_conversions);
/* Step 5 */
if ((result = dscADScanInt(dscb, &dscaioint)) != DE_NONE)
return result;
...Last updated
Was this helpful?