Digi JACKRABBIT BL1800 User Manual
Page 56

52
Jackrabbit (BL1800)
sets the state of a digital output bit.
jrioInit
must be called first.
channel
is the output channel number (0-3 on the Jackrabbit).
value
is the output value (0 or 1).
sets the state of a digital output bit to on (1).
jrioInit
must be called first.
channel
is the output channel number (0–3 on the Jackrabbit).
sets the state of a digital output bit to off (0).
jrioInit
must be called first.
channel
is the output channel number (0–3 on the Jackrabbit).
NOTE: See the sample program JRIOTEST.C for an example of using the digital out-
put functions.
4.4.1.3 Analog Output
The two analog output channels on the Jackrabbit (DA0 and DA1 on header J5) are con-
trolled by a pulse-width modulation (PWM) driver. This requires the use of some fraction
of the CPU cycles when the driver is running (up to 20% when both D/A channels are
used). A voltage is selected by giving a value from 0 to 1024 to the driver, corresponding
roughly to 0.1 V to 3.5 V on DA0. Because of the PWM interrupt frequency, the PWM
driver can provide a continuous range of voltage output in the range from 0.1 V to 3.0 V
for DA0, and 0.6 V to 3.6 V for DA1. These ranges can be specified with the constants
PWM_MIN
,
PWM_MAX0
, and
PWM_MAX1
. In other words, setting channel DA0 to the value
PWM_MIN
will output 0.1 V, and setting it to
PWM_MAX0
will output 3.0 V. Similarly, set-
ting DA1 to
PWM_MIN
will output 0.6 V, and setting it to
PWM_MAX1
will output 3.6 V. Val-
ues below
PWM_MIN
will be rounded down to 0, and values above
PWM_MAX0
(
PWM_MAX1
for DA1) will be rounded up to 1024.
The output channels can also be set in an “always on” or “always off” mode, which does
not require CPU cycles. The “always on” mode is set by requesting an output value of
1024, and will provide about 3.4 V on channel DA0, and 3.6 V on DA1. The “always off”
mode is selected by asking for a value of 0, and provides an output of around 0.1 V on
DA0 and 0.0 V on DA1.
See Table 5 for a summary of the possible analog output voltages corresponding to values
given in the
anaOut
function.
void digOut(int channel, int value);
void digOn(int channel);
void digOff(int channel);