User guide

Neuron C Programmer’s Guide 157
Infrared Input
Infrared Pattern Output
Oneshot Output
Ontime Input
Period Input
Pulsecount Input
Pulsecount Output
Pulsewidth Output
Stretched Triac
Triac
Triggeredcount Output
Note that the totalcount input and quadrature input I/O models are not
supported by timer/counter interrupts, because the interrupt would not trigger
until you called the io_in() function, which eliminates the need for an
timer/counter interrupt for these two I/O models.
For timer/counter I/O models that use multiplexed I/O pins, you can declare an
interrupt task for only one of the pins. Declaring an interrupt for more than one
of the multiplexed pins yields an error (NCC#584). For example:
IO_4 input pulsecount ded pulsecount_A;
IO_5 input pulsecount mux pulsecount_B;
IO_6 input pulsecount mux pulsecount_C;
IO_7 input pulsecount mux pulsecount_D;
interrupt(pulsecount_B){
// process the interrupt for the pulsecount
// multiplexed I/O object
}
interrupt(pulsecount_C){
// You cannot define a second interrupt task for the
// pulsecount multiplexed I/O object
// Compiler issues NCC#584:
// “The hardware timer/counter unit is already used with
// a different interrupt task”
}
Timer/counter interrupts for the following I/O models use overflow interrupt
triggering:
Dualslope input
Frequency output
Infrared pattern output
Oneshot output
Pulsecount output
Pulsewidth output
Triggered count output
Note: Triggering the interrupt on overflow for the dualslope input model means
that the interrupt occurs at the end of the second integration period.
Timer/counter interrupts for the following I/O models use latch interrupt
triggering:
Edgelog input