??? 06/05/10 16:05 Read: times |
#176429 - an example of really useful 'reusable' code Responding to: ???'s previous message |
For each derivative I use I have a template file like the one shown here. the first thing I do when starting a a project is to rename and include the proper template file.
the example shown is for the SILabs F20x and SDCC Erik ////////////////////////////////////////////////////////////////////// // // FILE: F20ISR.C // // // ISR template for the f20x //////////////////////////////////////////////////////////// // // FUNCTION: void Icrash (void) // // catcher for illegal interrupts // void Icrash (void) { while(1); } // end Icrash //////////////////////////////////////////////////////////// // // ISR 0 EI0 // void EI0isr0 (void) __interrupt (0) __using (0) { Icrash(); } // end EI0isr0 //////////////////////////////////////////////////////////// // // ISR 1 T0 // void T0isr1 (void) __interrupt (1) __using (0) { Icrash(); } // end T0isr1 //////////////////////////////////////////////////////////// // // ISR 2 EI1 // void EI1isr0 (void) __interrupt (2) __using (0) { // reset button Icrash(); } // end EI1isr0 //////////////////////////////////////////////////////////// // // ISR 3 T1 // void T1isr3 (void) __interrupt (3) __using (0) { Icrash(); } // end T1isr3 //////////////////////////////////////////////////////////// // // ISR 4 UART 0 // void UARTisr4 (void) __interrupt (4) __using (0) { Icrash(); } // end UARTisr4 //////////////////////////////////////////////////////////// // // ISR 5 T2 // void T2isr5 (void) __interrupt (5) __using (0) { Icrash(); } // end T2isr5 //////////////////////////////////////////////////////////// // // ISR 6 SPI // void SPIisr6 (void) __interrupt (6) __using (0) { Icrash(); } // end SPIisr6 //////////////////////////////////////////////////////////// // // ISR 7 'empty' // void NOisr7 (void) __interrupt (7) __using (0) { Icrash(); } // end IICisr7 //////////////////////////////////////////////////////////// // // ISR 8 AD0 window // void A0Wisr8 (void) __interrupt (8) __using (0) { Icrash(); } // end A0Wisr8 //////////////////////////////////////////////////////////// // // ISR 9 'empty // void NOisr9 (void) __interrupt (9) __using (0) { Icrash(); } // end NOisr9 //////////////////////////////////////////////////////////// // // ISR 10 comparator 0 falling edge // void C0Fisr10 (void) __interrupt (10) __using (0) { Icrash(); } // end C0Fisr10 //////////////////////////////////////////////////////////// // // ISR 11 comparator 0 rising edge // void C0Risr11 (void) __interrupt (11) __using (0) { Icrash(); } // end C0Risr11 //////////////////////////////////////////////////////////// // // ISR 12 comparator 1 falling edge // void C1Fisr12 (void) __interrupt (12) __using (0) { Icrash(); } // end C1Fisr12 //////////////////////////////////////////////////////////// // // ISR 13 comparator 1 rising edge // void C1Risr13 (void) __interrupt (13) __using (0) { Icrash(); } // end C1Risr13 //////////////////////////////////////////////////////////// // // ISR 14 'empty' // void NOisr14 (void) __interrupt (14) __using (2) { Icrash(); } // end T3isr14 //////////////////////////////////////////////////////////// // // ISR 15 AD0 end of conversion // void A0Eisr15 (void) __interrupt (15) __using (0) { Icrash(); // end A0Eisr15 //////////////////////////////////////////////////////////// // // ISR 16 software int 0 // void S0isr16 (void) __interrupt (16) __using (2) { Icrash(); } // end T4isr16 //////////////////////////////////////////////////////////// // // ISR 17 software int 1 // void S1isr17 (void) __interrupt (17) __using (0) { Icrash(); } // end A02Wisr17 //////////////////////////////////////////////////////////// // // ISR 18 software int 3 // void S2isr18 (void) __interrupt (18) __using (0) { Icrash(); } // end A1Eisr18 //////////////////////////////////////////////////////////// // // ISR 19 software int 3 // void S3isr19 (void) __interrupt (19) __using (0) { Icrash(); } // end isr19 //////////////////////////////////////////////////////////// // // ISR 20 'empty // void NOisr20 (void) __interrupt (20) __using (0) { Icrash(); } // end U1isr20 //////////////////////////////////////////////////////////// // // ISR 21 oscillator ready // void OSCisr21 (void) __interrupt (21) __using (0) { Icrash(); } // end U1isr21 |
Topic | Author | Date |
Gimme Code: Is it really worth it? | 01/01/70 00:00 | |
Yes, in intensive writing situations | 01/01/70 00:00 | |
Unreasonable expectations | 01/01/70 00:00 | |
Depends | 01/01/70 00:00 | |
As an exercise... | 01/01/70 00:00 | |
gimme binary | 01/01/70 00:00 | |
Did he? | 01/01/70 00:00 | |
sometimes you'll find out what you need on the go | 01/01/70 00:00 | |
Fundamental flaw | 01/01/70 00:00 | |
then "gimme binary and schematics" | 01/01/70 00:00 | |
LCD code | 01/01/70 00:00 | |
Not the point? | 01/01/70 00:00 | |
Ah, I see... | 01/01/70 00:00 | |
now we know | 01/01/70 00:00 | |
Ha! My wife and children... | 01/01/70 00:00 | |
two key words | 01/01/70 00:00 | |
I wouldn't go that far | 01/01/70 00:00 | |
Code Reuse | 01/01/70 00:00 | |
A possible counterpoint, or maybe a confirmation | 01/01/70 00:00 | |
not really | 01/01/70 00:00 | |
is that the reason I need a multi-GHz PC to ... | 01/01/70 00:00 | |
an example of really useful 'reusable' code | 01/01/70 00:00 | |
Compiler libraries | 01/01/70 00:00 |