On supported boards (-AT boards), the user may auto-calibrate the board's A/D circuit in software, rather than undergoing a tedious process of manual calibration. Each A/D range has its own set of calibration settings for maximum accuracy. This function enables you to calibrate a single range or all ranges. To calibrate a single range, specify the range in the function call. To calibrate all ranges, specify 255 for the range.
Create and initialize an A/D auto-calibration settings structure (DSCADCALPARAMS).
Select the A/D range to calibrate. For an individual range, select 0-15. For all ranges, select 255.
Select the booot range. This is the range whose calibration settings will be recalled upon power-up.
Call dscADAutoCal() and pass it a pointer to this structure in order to calibrate the A/D circuit on the board for the selected range(s).
NOTE: Performing an A/D auto-calibration will take about 1-3 seconds per range, depending on the board type and the range.
... DSCB dscb; DSCADCALPARAMS dscadcalparams; BYTE result; ... /* Step 1 */ dscadcalparams.adrange = 255; // calibrate all A/D modes dscadcalparams.boot_adrange = 8; // set power-up A/D mode to +/-10V /* Step 2 */ if ((result = dscADAutoCal(dscb, &dscadcalparams)) != DE_NONE) return result; ...
This page was last modified 19:59, 30 Jan 2004.
Copyright (c) 2004 Diamond Systems. All Rights Reserved.