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”)
   223   224   225   226   227   228   229   230   231   232   233