| ??? 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 |



