#include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIVATIVE "mc9s12dt256b" void tim_init (void) { TIE = 0x01; // Enable Tim Ch. 0 TSCR1 = 0x80; // Enable Timer module TSCR2 = 0x80; TC0 = 0x0080; } void main(void) { /* put your own code here */ DDRA = 0xFF; PORTA = 0x00; EnableInterrupts; tim_init(); for(;;) {} /* wait forever */ /* please make sure that you never leave this function */ } #pragma CODE_SEG __NEAR_SEG NON_BANKED interrupt 8 void tim_ch0_vector(void) { PORTA = 0x55; TFLG2 = 0x80; } #pragma CODE_SEG DEFAULT
Solved! Go to Solution.
Hello,
Using the ISR function declaration to set the interrupt vector number appears to be valid for the 9S08 (see AN2616 page 53) - but not sure about the 9S12. The method avoids the need to modify the .PRM file with the vector information.
Regards,
Mac