Echelon Neuron C User Manual

Page 169

Advertising
background image

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

Advertising