Chapter 3
Analog Output Timing/Control
©
National Instruments Corporation
3-33
DAQ-STC Technical Reference Manual
new_ui_ticks
,
/*number of clocks between updates*/
new_mute
,
/*indicates whether the MISB will be muted*/
ao_shut_down_isr
,
/*indicates the last BC_TC in the stage and
the next-to-the-last
BC_TC in the stage, as follows:
2 The last BC_TC
1 The next-to-the-last BC_TC
0 Otherwise*/
old_stage_uc_ticks
;
/*the number up updates in the previous buffer*/
If (
ao_shut_down_isr
is 2) then
ao_shut_down_isr
= 0;
If
(ao_shut_down_isr
is 1) then
ao_shut_down_isr
= 2;
new_bc_ticks
=
bc_new_ticks
[
ao_tick_count_to_use
];
If
(new_bc_ticks
is 0) then
ao_shut_down_isr
= 1;
If (ao_shut_down_isr is 1) then
{
AO_End_On_BC_TC = 1;
ao_tick_count_to_use
= 0;
}
new_bc_ticks
=
bc_new_ticks
[
ao_tick_count_to_use
];
new_uc_ticks
=
uc_new_ticks
[
ao_tick_count_to_use
];
new_ui_ticks
=
ui_new_ticks
[
ao_tick_count_to_use
];
new_mute
=
new_mute_flag
[
ao_tick_count_to_use
];
If (
ao_shut_down_isr
is 1) then
new_uc_ticks
=
new_uc_ticks
+ 1;
If
(ao_shut_down_isr
is 2) then
old_stage_uc_ticks
=
uc_new_ticks
[
ao_tick_count_to_use
- 1];
If (
ao_last_load_register
is A) then
{
AO_BC_Load_B =
new_bc_ticks
- 1;
AO_UC_Load_B =
new_uc_ticks
- 1;
AO_UI_Load_B =
new_ui_ticks
- 1;
AO_Mute_B =
new_mute
;
If (
ao_shut_down_isr
is 2) then
AO_UC_Load_A =
old_stage_uc_ticks
- 1;
ao_last_load_register
= B;
}
Else
{
AO_BC_Load_A =
new_bc_ticks
- 1;
AO_UC_Load_A =
new_uc_ticks
- 1;
AO_UI_Load_A =
new_ui_ticks
- 1;
AO_Mute_A =
new_mute
;
If (
ao_shut_down_isr
is 2) then
AO_UC_Load_B =
old_stage_uc_ticks
- 1;
ao_last_load_register
= A;