Start Back Next End
  
ZBasic System Library
37
ZBasic Microcontrollers
one or more times but the compiler can determine that the Com1 is always the channel being used, no
additional ISRs are included since the Com1 ISRs are usually included anyway.  On the other hand, if the
compiler cannot determine which channel is being opened in one or more cases, it includes the ISRs for
all Com channels, both hardware-based and software-based channels.
In the description of each System Library routine, information is given about the set of ISRs might be
included in your program if you use that routine.  This information is only important, of course, if you are
also providing one or more ISRs in your code because conflicts may arise.  (See the section entitled
“Defining Interrupt Service Routines” in the ZBasic Language Reference Manual for more information on
how this is done.)  The table below gives an overview of which System Library routines may cause ISRs
to be included atomatically in your program.
System Library Routines that May Load ISRs
System Library Routine
ISR for ATtiny/ATmega
ISR for ATxmega
ADCtoCom1()
TIMER#_COMPA
n/a
Com1toDAC()
TIMER#_COMPA
n/a
InputCapture()
TIMER*_CAPT
TIMER*_OVF
TC*_CCA
TC*_OVF
OutputCapture()
TIMER*_COMPB
TC*_CCB
OpenCom()
USART#_RX
USART#_TX
USART#_UDRE 
TIMER&_COMPA
USART#_RXC
USART#_TXC
USART#_UDRE
TC&_CCA
OpenX10()
INT*
TIMER$_COMPB
ACA_AC0
TC$_CCB
WaitForInterrupt()
INT#
PCINT#
ANALOG_COMP
PORTx_INT#
ACA_AC0
ACA_AC1
ACA_ACW
ACB_AC0
ACB_AC1
ACB_ACW
In the table above some ISR names (shaded) are given symbolically in the interest of brevity,
representing multiple possible ISR names.  The table below describes how to interpret the symbolic ISR
entries.
Key to Symbolic ISR Names
Symbolic ISR Name
Meaning
TIMER#_COMPA
Replace TIMER# with the name of the I/O Timer, e.g. TIMER1.
TIMER*_COMPB
TIMER*_CAPT
TIMER*_OVF
Replace TIMER* with the applicable 16-bit timer name, e.g. TIMER4.
TIMER&_COMPA
Replace TIMER& with the software UART timer name, e.g. TIMER2.
TIMER$_COMPB
Replace TIMER$ with the RTC timer name, e.g. TIMER0.
TC*_CCA
TC*_CCB
TC*_OVF
Replace TC* with the applicable timer name, e.g. TCC0.
TC&_CCA
Replace TC$ with the software UART timer name, e.g. TCC0.
TC$_CCB
Replace TC$ with the RTC timer name, e.g. TCC0.
USART#_RX
USART#_TX
USART#_UDRE
Replace USART# with the applicable UART name, e.g. USART0.
USART#_RXC
USART#_TXC
USART#_UDRE
Replace USART# with the applicable UART name, e.g. USARTC0.
INT#
Replace INT# with the external interrupt name, e.g. INT0.
INT*
Replace INT* with the X-10 zero-crossing interrupt name, e.g. INT0.
PCINT#
Replace PCINT# with the pin change interrupt name, e.g. PCINT0.
PORTx_INT#
Replace PORTx with the applicable port name, e.g. PORTA and replace
Previous page Top Next page