www.pudn.com > LPC2148_IAR_LPC2148.zip > Demo.h


 
 
#include  
#include  
 
#define TICKS_PER_5_SECONDS             500 
#define FIVE_SEC_TIMER                    0 
#define FIVE_SEC_TIMER_INSTALLED         20 
#define TICKS_PER_SECOND                100 
#define ONE_SEC_TIMER                     1 
#define ONE_SEC_TIMER_INSTALLED          21 
#define TICKS_PER_100mSEC                10 
#define ONE_HUNDRED_mSEC_TIMER            2 
#define ONE_HUNDRED_mSEC_TIMER_INSTALLED 22 
#define TIMER_EXPIRED                    50 
#define INT_ON_MATCH                    0x1 
#define RESET                           0x2 
 
#define XTALFREQ 12000000         //XTAL frequency in Hz 
#define PCLKFREQ (XTALFREQ/4)     //pclk must always be XTALFREQ/4? 
 
#define FALSE 0 
#define TRUE !(FALSE) 
 
 
#define DOWN                1000 
#define UP                  1001 
#define TIMED_OUT           0x7FFFFFFF 
#define EVENT_UNDEFINED     0XFFFFFFFF 
#define MAX_BUTTONS         3 
#define MAX_SOFTWARE_TIMERS 3 
 
typedef struct 
{ 
  unsigned int us_buttonState; 
  unsigned int us_pressCount; 
} ButtonIntFlags_t; 
 
typedef struct 
{ 
  unsigned int us_Ticks; 
  unsigned int us_Event; 
} SoftwareTimer_t; 
 
unsigned char bl_flag; 
unsigned char bl_100msecFlag; 
unsigned char bl_Btn1DownFlag; 
unsigned char bl_Btn2DownFlag; 
ButtonIntFlags_t buttonData[MAX_BUTTONS]; 
SoftwareTimer_t  softTimer[MAX_SOFTWARE_TIMERS]; 
 
 
void main(void); 
void initializeInterruptDataStructs(void); 
void installTimer(SoftwareTimer_t *, unsigned int, unsigned int , unsigned int); 
#pragma vector=0x18 
__irq __arm void IRQ_ISR_Handler (void); 
void MM_TIMER0_ISR(); 
void Btn1DownISR(void); 
void Btn2DownISR(void); 
void NonVectISR(void); 
void feed (void);