beautypg.com

See the, Set_vector – Zilog Z8F0130 User Manual

Page 261

background image

UM013037-1212

Zilog Functions

Zilog Developer Studio II – Z8 Encore!

User Manual

237

select_port(_UART1);

printf("Hello UART1\n"); // Write to uart1

}

SET_VECTOR

SET_VECTOR

is a Zilog intrinsic function provided by the compiler to specify the address

of an interrupt handler for an interrupt vector. Because the interrupt vectors of the Z8
Encore! microcontroller are usually in ROM, they cannot be modified at run time. The

SET_VECTOR

function works by switching to a special segment and placing the address of

the interrupt handler in the vector table. No executable code is generated for this state-
ment. Calls to the

SET_VECTOR

intrinsic function must be placed within a function body.

Synopsis

#include

intrinsic void SET_VECTOR(int vectnum,void (*hndlr)(void));

In the above example:

vectnum

is the interrupt vector number for which the interrupt handler

hndlr

is to be set.

hndlr

is the interrupt handler function pointer. The

hndlr

function must be declared

to be of type interrupt with no parameters and return

void

(no parameters and no

return).

The following values for

vectnum

are supported for most Z8 Encore! parts (all those that

do not fall into the more specific categories covered in the next two tables):

RESET
WDT
TRAP
TIMER2
TIMER1
TIMER0
UART0_RX
UART0_TX
I2C
SPI
ADC
P7AD
P6AD
P5AD

P4AD
P3AD
P2AD
P1AD
P0AD
TIMER3
UART1_RX
UART1_TX
DMA
C3
C2
C1
C0