Page 228 - Programming Microcontrollers in C
P. 228
Header File 213
#define OC1F 0x80
#define OC2F 0x40
#define OC3F 0x20
#define OC4F 0x10
#define I4O5F 0x08
#define IC1F 0x04
#define IC2F 0x02
#define IC3F 0x01
#define TFLG1 (*(unsigned char*)(Register_Set+0x23))
.
.
.
typedef struct {
unsigned char TCLR :1;
unsigned char SCP :2;
unsigned char RCKB :1;
unsigned char SCR :3;
}Baud;
#define BAUD (*(volatile
Baud*)(Register_Set+0x2B))
.
.
.
/* Macros and function to permit interrupt service
routine programming from C.
To use the vector call, do vector(isr,
vector_address)where isr is a pointer to the
interrupt service routine, and vector_address
is the vector address where the isr pointer
must be stored. */
#define vector(isr,vector_address) (*(void **)(vector_address)=(isr))
#define cli() _asm(“cli\n”)
#define sei() _asm(“sei\n”)