mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 02:28:14 +02:00
437 lines
18 KiB
ObjectPascal
437 lines
18 KiB
ObjectPascal
unit ATA6286;
|
|
|
|
interface
|
|
|
|
var
|
|
// SENSOR_INTERFACE
|
|
MSVCAL : byte absolute $00+$67; // Motion Sensor Voltage Calibration Register
|
|
SCR : byte absolute $00+$48; // Sensor Control Register
|
|
SCCR : byte absolute $00+$49; // Sensor Capacitor Control Register
|
|
SVCR : byte absolute $00+$47; // Sensor Voltage Control Register
|
|
SIMSK : byte absolute $00+$61; // Sensor Interrupt Mask register
|
|
SSFR : byte absolute $00+$39; // Sensor Status + Flag Register
|
|
TSCR : byte absolute $00+$64; // Temperature Sensor Control Register
|
|
// SPI
|
|
SPDR : byte absolute $00+$4E; // SPI Data Register
|
|
SPSR : byte absolute $00+$4D; // SPI Status Register
|
|
SPCR : byte absolute $00+$4C; // SPI Control Register
|
|
// CPU
|
|
CLKPR : byte absolute $00+$5C; // Clock Prescaler Register
|
|
CMCR : byte absolute $00+$2F; // Clock Management Control Register
|
|
CMSR : byte absolute $00+$30; // Clock Management Status Register
|
|
CMIMR : byte absolute $00+$5B; // Clock Management Interrupt Mask Register
|
|
FRCCAL : byte absolute $00+$66; // FRC-Oscillator Calibration Register
|
|
SRCCAL : byte absolute $00+$65; // SRC-Oscillator Calibration Register
|
|
VMCSR : byte absolute $00+$36; // Voltage Monitor Control and Status Register
|
|
SREG : byte absolute $00+$5F; // Status Register
|
|
SP : word absolute $00+$5D; // Stack Pointer
|
|
SPL : byte absolute $00+$5D; // Stack Pointer
|
|
SPH : byte absolute $00+$5D+1; // Stack Pointer
|
|
SPMCSR : byte absolute $00+$57; // Store Program Memory Control Register
|
|
MCUCR : byte absolute $00+$55; // MCU Control Register
|
|
MCUSR : byte absolute $00+$54; // MCU Status Register
|
|
SMCR : byte absolute $00+$53; // Sleep Mode Control Register
|
|
GPIOR2 : byte absolute $00+$4B; // General Purpose I/O Register 2
|
|
GPIOR1 : byte absolute $00+$4A; // General Purpose I/O Register 1
|
|
GPIOR0 : byte absolute $00+$3E; // General Purpose I/O Register 0
|
|
// LFRX
|
|
LFRCR : byte absolute $00+$82; // Low Frequency Receiver Control Register
|
|
LFCDR : byte absolute $00+$52; // LF receiver Control und Data Register
|
|
LFRB : byte absolute $00+$56; // Low Frequency Receive data Buffer
|
|
LFRR : byte absolute $00+$50; // LF RSSI Data Register
|
|
LFHCR : byte absolute $00+$83; // LF Header Compare Register
|
|
LFIDC : word absolute $00+$84; // LF ID Compare Register
|
|
LFIDCL : byte absolute $00+$84; // LF ID Compare Register
|
|
LFIDCH : byte absolute $00+$84+1; // LF ID Compare Register
|
|
LFIMR : byte absolute $00+$81; // Low Frequency Interrupt Mask Register
|
|
LFFR : byte absolute $00+$38; // Low Frequency Flag Register
|
|
LFCAL : word absolute $00+$86; // LF Calibration Register Bytes
|
|
LFCALL : byte absolute $00+$86; // LF Calibration Register Bytes
|
|
LFCALH : byte absolute $00+$86+1; // LF Calibration Register Bytes
|
|
// EXTERNAL_INTERRUPT
|
|
EICRA : byte absolute $00+$69; // External Interrupt Control Register
|
|
EIMSK : byte absolute $00+$44; // External Interrupt Mask Register
|
|
EIFR : byte absolute $00+$3D; // External Interrupt Flag Register
|
|
PCMSK0 : byte absolute $00+$6A; // Pin Change Mask Register 0
|
|
PCMSK1 : byte absolute $00+$6B; // Pin Change Mask Register 1
|
|
PCMSK2 : byte absolute $00+$6C; // Pin Change Mask Register 2
|
|
PCIFR : byte absolute $00+$37; // Pin Change Interrupt Flag Register
|
|
PCICR : byte absolute $00+$43; // Pin Change Interrupt Control Register
|
|
// PORTB
|
|
PORTB : byte absolute $00+$25; // Port B Data Register
|
|
DDRB : byte absolute $00+$24; // Port B Data Direction Register
|
|
PINB : byte absolute $00+$23; // Port B Input Pins
|
|
// PORTD
|
|
PORTD : byte absolute $00+$2B; // Port D Data Register
|
|
DDRD : byte absolute $00+$2A; // Port D Data Direction Register
|
|
PIND : byte absolute $00+$29; // Port D Input Pins
|
|
// TIMER_COUNTER_1
|
|
T1CR : byte absolute $00+$58; // Timer 1 Control Register
|
|
T10IFR : byte absolute $00+$3A; // Timer1/0 Interrupt Flag Register
|
|
// TIMER_COUNTER_2
|
|
T2CRA : byte absolute $00+$31; // Timer 2 Control Register A
|
|
T2CRB : byte absolute $00+$32; // Timer 2 Control Register B
|
|
T2MDR : byte absolute $00+$4F; // Timer 2 Modulator Data Register
|
|
T2ICR : byte absolute $00+$6F; // Timer 2 Input Capture Register High Byte
|
|
T2ICRL : byte absolute $00+$6E; // Timer 2 Input Capture Register Low Byte
|
|
T2COR : word absolute $00+$70; // Timer2 Compare Register Bytes
|
|
T2CORL : byte absolute $00+$70; // Timer2 Compare Register Bytes
|
|
T2CORH : byte absolute $00+$70+1; // Timer2 Compare Register Bytes
|
|
T2IFR : byte absolute $00+$3B; // Timer2 Interrupt Flag Register
|
|
T2IMR : byte absolute $00+$74; // Timer 2 Interrupt Mask Register
|
|
T2MRA : byte absolute $00+$72; // Timer 2 Mode Register A
|
|
T2MRB : byte absolute $00+$73; // Timer 2 Mode Register B
|
|
// TIMER_COUNTER_3
|
|
T3CRA : byte absolute $00+$34; // Timer 3 Control Register A
|
|
T3CRB : byte absolute $00+$7E; // Timer 3 Control Register B
|
|
T3MRA : byte absolute $00+$7C; // Timer 3 Mode Register A
|
|
T3IFR : byte absolute $00+$3C; // Timer3 Interrupt Flag Register
|
|
T3IMR : byte absolute $00+$7F; // Timer3 Interrupt Mask Register
|
|
T3MRB : byte absolute $00+$7D; // Timer 3 Mode Register B
|
|
T3ICR : word absolute $00+$76; // Timer3 Input Capture Register Bytes
|
|
T3ICRL : byte absolute $00+$76; // Timer3 Input Capture Register Bytes
|
|
T3ICRH : byte absolute $00+$76+1; // Timer3 Input Capture Register Bytes
|
|
T3CORA : word absolute $00+$78; // Timer3 COmpare Register A Bytes
|
|
T3CORAL : byte absolute $00+$78; // Timer3 COmpare Register A Bytes
|
|
T3CORAH : byte absolute $00+$78+1; // Timer3 COmpare Register A Bytes
|
|
T3CORB : word absolute $00+$7A; // Timer3 COmpare Register B Bytes
|
|
T3CORBL : byte absolute $00+$7A; // Timer3 COmpare Register B Bytes
|
|
T3CORBH : byte absolute $00+$7A+1; // Timer3 COmpare Register B Bytes
|
|
// WATCHDOG
|
|
WDTCR : byte absolute $00+$60; // Watchdog Timer Control Register
|
|
// TIMER_COUNTER_0
|
|
T0CR : byte absolute $00+$59; // Timer 0 Control Register
|
|
// EEPROM
|
|
EEAR : word absolute $00+$41; // EEPROM Address Register Bytes
|
|
EEARL : byte absolute $00+$41; // EEPROM Address Register Bytes
|
|
EEARH : byte absolute $00+$41+1; // EEPROM Address Register Bytes
|
|
EEDR : byte absolute $00+$40; // EEPROM Data Register
|
|
EECR : byte absolute $00+$3F; // EEPROM Control Register
|
|
// PORTC
|
|
PORTC : byte absolute $00+$28; // Port C Data Register
|
|
DDRC : byte absolute $00+$27; // Port C Data Direction Register
|
|
PINC : byte absolute $00+$26; // Port C Input Pins
|
|
|
|
const
|
|
// SCR
|
|
SMEN = 3; // Sensor Motion Enable Bit
|
|
SEN = 1; // Sensor enable Bits
|
|
SMS = 0; // Sensor Measurement Start Bit
|
|
// SCCR
|
|
SCCS = 2; // Sensor Capacitor Channel Select Bit2
|
|
SRCC = 0; // Sensor Reference Charge Current Bit1
|
|
// SIMSK
|
|
MSIE = 0; // Motion Sensor Interrupt Enable Bit
|
|
// SSFR
|
|
MSENO = 1; // Motion Sensor Output
|
|
MSENF = 0; // Motion Sensor Flag
|
|
// TSCR
|
|
TSSD = 0; // Temperature Sensor Shutdown mode Disable
|
|
// SPSR
|
|
SPIF = 7; // SPI Interrupt Flag
|
|
WCOL = 6; // Write Collision Flag
|
|
SPI2X = 0; // Double SPI Speed Bit
|
|
// SPCR
|
|
SPIE = 7; // SPI Interrupt Enable
|
|
SPE = 6; // SPI Enable
|
|
DORD = 5; // Data Order
|
|
MSTR = 4; // Master/Slave Select
|
|
CPOL = 3; // Clock polarity
|
|
CPHA = 2; // Clock Phase
|
|
SPR = 0; // SPI Clock Rate Selects
|
|
// CLKPR
|
|
CLPCE = 7; // Clock Prescaler Change Enable Bit
|
|
CLTPS = 3; // Clock Timer Prescaler Select Bits
|
|
CLKPS = 0; // Clock system Prescaler Select Bits
|
|
// CMCR
|
|
CMCCE = 7; // Clock Management Control Change Enable Bit
|
|
ECINS = 5; // External Clock Input Select Bit
|
|
CCS = 4; // Core Clock Select Bit
|
|
CMONEN = 3; // Clock Monitoring Enable
|
|
SRCD = 2; // Slow RC-oscillator Disable Bit
|
|
CMM = 0; // Clock Management Mode Bitss
|
|
// CMSR
|
|
ECF = 0; // External Clock input Flag Bit
|
|
// CMIMR
|
|
ECIE = 0; // External Clock input Interrupt Enable Bit
|
|
// VMCSR
|
|
BODLS = 7; // Brown-Out Detection Level Select Bit
|
|
BODPD = 6; // Brown-Out Detection on Power-Down Bit
|
|
VMF = 5; // Voltage Monitor Flag
|
|
VMIM = 4; // Voltage Monitor Interrupt Mask Bit
|
|
VMLS = 1; // Voltage Monitor Level Select Bits
|
|
VMEN = 0; // Voltage Monitor Enable Bit
|
|
// SREG
|
|
I = 7; // Global Interrupt Enable
|
|
T = 6; // Bit Copy Storage
|
|
H = 5; // Half Carry Flag
|
|
S = 4; // Sign Bit
|
|
V = 3; // Two's Complement Overflow Flag
|
|
N = 2; // Negative Flag
|
|
Z = 1; // Zero Flag
|
|
C = 0; // Carry Flag
|
|
// SPMCSR
|
|
SPMIE = 7; // SPM Interrupt Enable
|
|
RWWSB = 6; // Read-While-Write Section Busy
|
|
RWWSRE = 4; // Read-While-Write section read enable
|
|
BLBSET = 3; // Boot Lock Bit Set
|
|
PGWRT = 2; // Page Write
|
|
PGERS = 1; // Page Erase
|
|
SELFPRGEN = 0; // Self Programming Enable
|
|
// MCUCR
|
|
PUD = 4; //
|
|
IVSEL = 1; // Interrupt Vector Select
|
|
IVCE = 0; // Interrupt Vector Change Enable
|
|
// MCUSR
|
|
TSRF = 5; // Temperature Shutdown Reset Flag
|
|
WDRF = 3; // Watchdog Reset Flag
|
|
BORF = 2; // Brown-out Reset Flag
|
|
EXTRF = 1; // External Reset Flag
|
|
PORF = 0; // Power-on reset flag
|
|
// SMCR
|
|
SM = 1; //
|
|
SE = 0; //
|
|
// LFRCR
|
|
LFCS = 5; // LF receiver Capacitor Select Bits
|
|
LFRSS = 4; // LF Receiver Sensitivity Select Bit
|
|
LFWM = 2; // LF receiver Wake-up Mode Bits
|
|
LFBM = 1; // LF receiver Burst Mode enable Bit
|
|
LFEN = 0; // LF receiver Enable Bit
|
|
// LFCDR
|
|
LFSCE = 7; // LF receiver RSSI Software Capture Enable Bit
|
|
LFRST = 6; // LF receiver Reset Bit
|
|
LFDO = 0; // LF receiver Data Output Bit
|
|
// LFIMR
|
|
LFEIM = 2; // LF receiver End of data Interrupt Mask bit
|
|
LFBIM = 1; // LF receiver data Buffer Interrupt Mask bit
|
|
LFWIM = 0; // LF receiver Wake-up Interrupt Mask bit
|
|
// LFFR
|
|
LFRF = 3; // LF receiver Rssi data Flag
|
|
LFEDF = 2; // LF receiver End of data Flag
|
|
LFBF = 1; // LF receiver data Buffer full Flag
|
|
LFWPF = 0; // LF receiver Wake-up Flag
|
|
// EICRA
|
|
ISC1 = 2; // External Interrupt Sense Control 1 Bits
|
|
ISC0 = 0; // External Interrupt Sense Control 0 Bits
|
|
// EIMSK
|
|
INT = 0; // External Interrupt Request 1 Enable
|
|
// EIFR
|
|
INTF = 0; // External Interrupt Flags
|
|
// PCMSK0
|
|
PCINT = 0; // Pin Change Enable Masks
|
|
// PCMSK1
|
|
// PCMSK2
|
|
// PCIFR
|
|
PCIF = 0; // Pin Change Interrupt Flags
|
|
// PCICR
|
|
PCIE = 0; // Pin Change Interrupt Enables
|
|
// T1CR
|
|
T1IE = 7; // Timer 1 Interrupt Enable Bit
|
|
T1CS = 3; // Timer 1 Clock Select Bits
|
|
T1PS = 0; // Timer 1 Prescaler Select Bits
|
|
// T10IFR
|
|
T1F = 1; // Timer 1 Flag Bit
|
|
T0F = 0; // Timer 0 Flag Bit
|
|
// T2CRA
|
|
T2E = 7; // Timer 2 Enable Bit
|
|
T2TS = 6; // Timer 2 Toggle with Start Bit
|
|
T2ICS = 5; // Timer Input Capture Select Bit
|
|
T2CRM = 3; // Timer 2 Compare Reset Mask Bit
|
|
T2CR = 2; // Timer2 Counter Reset
|
|
T2CTM = 1; // Timer 2 Compare Toggle Mask Bit
|
|
T2OTM = 0; // Timer 2 Overflow Toggle Mask Bit
|
|
// T2CRB
|
|
T2SCE = 0; // Timer 2 Software Capture Enable Bit
|
|
// T2IFR
|
|
T2TCF = 5; // Timer2 SSI Transmit Complete Flag Bit
|
|
T2TXF = 4; // Timer2 SSI Transmit Flag Bit
|
|
T2RXF = 3; // Timer2 SSI Receive Flag Bit
|
|
T2ICF = 2; // Timer2 Input Capture Flag Bit
|
|
T2COF = 1; // Timer 2 Compare Flag Bit
|
|
T2OFF = 0; // Timer 2 Overflow Flag Bit
|
|
// T2IMR
|
|
T2TCIM = 5; // Timer2 SSI Transmit Complete Interrupt Mask Bit
|
|
T2TXIM = 4; // Timer2 SSI Transmit Interrupt Mask Bit
|
|
T2RXIM = 3; // Timer2 SSI Receive Interrupt Mask Bit
|
|
T2CPIM = 2; // Timer 2 Capture Interrupt Mask Bit
|
|
T2CIM = 1; // Timer 2 Compare Interrupt Mask Bit
|
|
T2OIM = 0; // Timer 2 Overflow Interrupt Mask Bit
|
|
// T2MRA
|
|
T2TP = 6; // Timer 2 Top select Bits
|
|
T2CNC = 5; // Timer 2 Input Capture Noise Canceler Bit
|
|
T2CE = 3; // Timer 2 Capture Edge Select Bits
|
|
T2CS = 0; // Timer 2 Clock Select Bits
|
|
// T2MRB
|
|
T2SSIE = 7; // Timer 2 SSI Enable Bit
|
|
T2CPOL = 6; // Timer2 Clock Polarity for SSI shift clock
|
|
T2TOP = 4; // Timer 2 Toggle Output Preset Bit
|
|
T2M = 0; // Timer 2 Mode Bits
|
|
// T3CRA
|
|
T3E = 7; // Timer 3 Enable Bit
|
|
T3TS = 6; // Timer 3 Toggle with Start Bit
|
|
T3CR = 2; // Timer3 Counter Reset
|
|
T3SCE = 1; // Timer 3 Software Capture Enable Bit
|
|
T3AC = 0; // Timer 3 Alternate Compare register sequence bit
|
|
// T3CRB
|
|
T3CPRM = 6; // Timer 3 CaPture Reset Mask bit
|
|
T3CRMB = 5; // Timer 3 Compare Reset Mask bit B
|
|
T3SAMB = 4; // Timer 3 Single Action Mask bit B
|
|
T3CTMB = 3; // Timer 3 Compare Toggle Mask bit B
|
|
T3CRMA = 2; // Timer 3 Compare Reset Mask bit A
|
|
T3SAMA = 1; // Timer 3 Single Action Mask bit A
|
|
T3CTMA = 0; // Timer 3 Compare Toggle Mask bit A
|
|
// T3MRA
|
|
T3ICS = 6; // Timer 3 Input Capture Select Bits
|
|
T3CNC = 5; // Timer 3 input Capture Noise Canceler Bit
|
|
T3CE = 3; // Timer 3 Capture Edge select Bits
|
|
T3CS = 0; // Timer 3 Clock Select Bits
|
|
// T3IFR
|
|
T3ICF = 3; // Timer3 Input Capture Flag bit
|
|
T3COBF = 2; // Timer3 Compare B Flag bit
|
|
T3COAF = 1; // Timer3 Compare A Flag bit
|
|
T3OFF = 0; // Timer3 OverFlow Flag bit
|
|
// T3IMR
|
|
T3CPIM = 3; // Timer3 Capture Interrupt Mask bit
|
|
T3CBIM = 2; // Timer3 Compare B Interrupt Mask bit
|
|
T3CAIM = 1; // Timer3 Compare A Interrupt Mask bit
|
|
T3OIM = 0; // Timer3 Overflow Interrupt Mask bit
|
|
// T3MRB
|
|
T3TOP = 4; // Timer 3 Toggle Output Preset Bit
|
|
T3M = 0; // Timer 3 Mode Bits
|
|
// WDTCR
|
|
WDCE = 4; // Watchdog Change Enable
|
|
WDE = 3; // Watch Dog Enable
|
|
WDPS = 0; // Watch Dog Timer Prescaler Select bits
|
|
// T0CR
|
|
T0PBS = 5; // Timer 0 Prescaler B Select Bits
|
|
T0PR = 4; // Timer 0 Prescaler Reset Bit
|
|
T0IE = 3; // Timer 0 Interrupt Enable Bit
|
|
T0PAS = 0; // Timer 0 Prescaler A Select Bits
|
|
// T10IFR
|
|
// EECR
|
|
EEPM = 4; // EEPROM Programming Mode Bits
|
|
EERIE = 3; // EEPROM Ready Interrupt Enable
|
|
EEMWE = 2; // EEPROM Master Write Enable
|
|
EEWE = 1; // EEPROM Write Enable
|
|
EERE = 0; // EEPROM Read Enable
|
|
|
|
implementation
|
|
|
|
{$define RELBRANCHES}
|
|
|
|
{$i avrcommon.inc}
|
|
|
|
procedure INT0_ISR; external name 'INT0_ISR'; // Interrupt 1 External Interrupt Request 0
|
|
procedure INT1_ISR; external name 'INT1_ISR'; // Interrupt 2 External Interrupt Request 1
|
|
procedure PCINT0_ISR; external name 'PCINT0_ISR'; // Interrupt 3 Pin Change Interrupt Request 0
|
|
procedure PCINT1_ISR; external name 'PCINT1_ISR'; // Interrupt 4 Pin Change Interrupt Request 1
|
|
procedure PCINT2_ISR; external name 'PCINT2_ISR'; // Interrupt 5 Pin Change Interrupt Request 2
|
|
procedure INTVM_ISR; external name 'INTVM_ISR'; // Interrupt 6 Voltage Monitor Interrupt
|
|
procedure SENINT_ISR; external name 'SENINT_ISR'; // Interrupt 7 Sensor Interface Interrupt
|
|
procedure INTT0_ISR; external name 'INTT0_ISR'; // Interrupt 8 Timer0 Interval Interrupt
|
|
procedure LFWP_ISR; external name 'LFWP_ISR'; // Interrupt 9 LF-Receiver Wake-up Interrupt
|
|
procedure T3CAP_ISR; external name 'T3CAP_ISR'; // Interrupt 10 Timer/Counter3 Capture Event
|
|
procedure T3COMA_ISR; external name 'T3COMA_ISR'; // Interrupt 11 Timer/Counter3 Compare Match A
|
|
procedure T3COMB_ISR; external name 'T3COMB_ISR'; // Interrupt 12 Timer/Counter3 Compare Match B
|
|
procedure T3OVF_ISR; external name 'T3OVF_ISR'; // Interrupt 13 Timer/Counter3 Overflow
|
|
procedure T2CAP_ISR; external name 'T2CAP_ISR'; // Interrupt 14 Timer/Counter2 Capture Event
|
|
procedure T2COM_ISR; external name 'T2COM_ISR'; // Interrupt 15 Timer/Counter2 Compare Match
|
|
procedure T2OVF_ISR; external name 'T2OVF_ISR'; // Interrupt 16 Timer/Counter2 Overflow
|
|
procedure SPISTC_ISR; external name 'SPISTC_ISR'; // Interrupt 17 SPI Serial Transfer Complete
|
|
procedure LFRXB_ISR; external name 'LFRXB_ISR'; // Interrupt 18 LF Receive Buffer Interrupt
|
|
procedure INTT1_ISR; external name 'INTT1_ISR'; // Interrupt 19 Timer1 Interval Interrupt
|
|
procedure T2RXB_ISR; external name 'T2RXB_ISR'; // Interrupt 20 Timer2 SSI Receive Buffer Interrupt
|
|
procedure T2TXB_ISR; external name 'T2TXB_ISR'; // Interrupt 21 Timer2 SSI Transmit Buffer Interrupt
|
|
procedure T2TXC_ISR; external name 'T2TXC_ISR'; // Interrupt 22 Timer2 SSI Transmit Complete Interrupt
|
|
procedure LFREOB_ISR; external name 'LFREOB_ISR'; // Interrupt 23 LF-Receiver End of Burst Interrupt
|
|
procedure EXCM_ISR; external name 'EXCM_ISR'; // Interrupt 24 External Input Clock break down Interrupt
|
|
procedure EEREADY_ISR; external name 'EEREADY_ISR'; // Interrupt 25 EEPROM Ready Interrupt
|
|
procedure SPM_RDY_ISR; external name 'SPM_RDY_ISR'; // Interrupt 26 Store Program Memory Ready
|
|
|
|
procedure _FPC_start; assembler; nostackframe; noreturn; public name '_START'; section '.init';
|
|
asm
|
|
rjmp __dtors_end
|
|
rjmp INT0_ISR
|
|
rjmp INT1_ISR
|
|
rjmp PCINT0_ISR
|
|
rjmp PCINT1_ISR
|
|
rjmp PCINT2_ISR
|
|
rjmp INTVM_ISR
|
|
rjmp SENINT_ISR
|
|
rjmp INTT0_ISR
|
|
rjmp LFWP_ISR
|
|
rjmp T3CAP_ISR
|
|
rjmp T3COMA_ISR
|
|
rjmp T3COMB_ISR
|
|
rjmp T3OVF_ISR
|
|
rjmp T2CAP_ISR
|
|
rjmp T2COM_ISR
|
|
rjmp T2OVF_ISR
|
|
rjmp SPISTC_ISR
|
|
rjmp LFRXB_ISR
|
|
rjmp INTT1_ISR
|
|
rjmp T2RXB_ISR
|
|
rjmp T2TXB_ISR
|
|
rjmp T2TXC_ISR
|
|
rjmp LFREOB_ISR
|
|
rjmp EXCM_ISR
|
|
rjmp EEREADY_ISR
|
|
rjmp SPM_RDY_ISR
|
|
|
|
.weak INT0_ISR
|
|
.weak INT1_ISR
|
|
.weak PCINT0_ISR
|
|
.weak PCINT1_ISR
|
|
.weak PCINT2_ISR
|
|
.weak INTVM_ISR
|
|
.weak SENINT_ISR
|
|
.weak INTT0_ISR
|
|
.weak LFWP_ISR
|
|
.weak T3CAP_ISR
|
|
.weak T3COMA_ISR
|
|
.weak T3COMB_ISR
|
|
.weak T3OVF_ISR
|
|
.weak T2CAP_ISR
|
|
.weak T2COM_ISR
|
|
.weak T2OVF_ISR
|
|
.weak SPISTC_ISR
|
|
.weak LFRXB_ISR
|
|
.weak INTT1_ISR
|
|
.weak T2RXB_ISR
|
|
.weak T2TXB_ISR
|
|
.weak T2TXC_ISR
|
|
.weak LFREOB_ISR
|
|
.weak EXCM_ISR
|
|
.weak EEREADY_ISR
|
|
.weak SPM_RDY_ISR
|
|
|
|
.set INT0_ISR, Default_IRQ_handler
|
|
.set INT1_ISR, Default_IRQ_handler
|
|
.set PCINT0_ISR, Default_IRQ_handler
|
|
.set PCINT1_ISR, Default_IRQ_handler
|
|
.set PCINT2_ISR, Default_IRQ_handler
|
|
.set INTVM_ISR, Default_IRQ_handler
|
|
.set SENINT_ISR, Default_IRQ_handler
|
|
.set INTT0_ISR, Default_IRQ_handler
|
|
.set LFWP_ISR, Default_IRQ_handler
|
|
.set T3CAP_ISR, Default_IRQ_handler
|
|
.set T3COMA_ISR, Default_IRQ_handler
|
|
.set T3COMB_ISR, Default_IRQ_handler
|
|
.set T3OVF_ISR, Default_IRQ_handler
|
|
.set T2CAP_ISR, Default_IRQ_handler
|
|
.set T2COM_ISR, Default_IRQ_handler
|
|
.set T2OVF_ISR, Default_IRQ_handler
|
|
.set SPISTC_ISR, Default_IRQ_handler
|
|
.set LFRXB_ISR, Default_IRQ_handler
|
|
.set INTT1_ISR, Default_IRQ_handler
|
|
.set T2RXB_ISR, Default_IRQ_handler
|
|
.set T2TXB_ISR, Default_IRQ_handler
|
|
.set T2TXC_ISR, Default_IRQ_handler
|
|
.set LFREOB_ISR, Default_IRQ_handler
|
|
.set EXCM_ISR, Default_IRQ_handler
|
|
.set EEREADY_ISR, Default_IRQ_handler
|
|
.set SPM_RDY_ISR, Default_IRQ_handler
|
|
end;
|
|
|
|
end.
|