I'm using CW 10.6. I'm developing an application using S08SU16. It's not supported by Processor Expert so I have to scratch build interrupt service routines by hand. Can anyone point me to articles, tutorials, videos etc. to get me started?
Thanks in advance
Rob
Solved! Go to Solution.
Hi Rob,
You are right processor expert does't support S08SU16.
To handle interrupt, use below syntax:
interrupt <vector_number> <function_name>
{
…/*code*/
}
Here, Vector number can be found in chip user manual vector locations table.Count from bottom of the table for the “vector number”. the reset vector is vector number 0 (located at address 0), vector number 1 is located just after the vector 0 (at address 0x2) and so on.
ie Reset = 0 (address is $FFFE), Clock monitor reset = 1, COP watchdog reset = 2 , ...... You can see “Vector Priority” in this table. When the two interrupt occurs, the system will accept the higher priority interrupt.
The attached technical note is about how to implement the interrupt routine for 8/16bit MCU.
I think it is simple and readable. Hope it can help you.
Have a great day,
Jennie Zhang
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Jennie,
Thanks very much for your reply. I have been coding in Assembler for 25 years. Since going to CodeWarrior and C a few years ago I have been spoilt with PE. LOL. Thanks very much for your advice and the link.
Cheers
Rob
You are welcome Rob.
Best Regards,
Jennie
Hi Rob,
You are right processor expert does't support S08SU16.
To handle interrupt, use below syntax:
interrupt <vector_number> <function_name>
{
…/*code*/
}
Here, Vector number can be found in chip user manual vector locations table.Count from bottom of the table for the “vector number”. the reset vector is vector number 0 (located at address 0), vector number 1 is located just after the vector 0 (at address 0x2) and so on.
ie Reset = 0 (address is $FFFE), Clock monitor reset = 1, COP watchdog reset = 2 , ...... You can see “Vector Priority” in this table. When the two interrupt occurs, the system will accept the higher priority interrupt.
The attached technical note is about how to implement the interrupt routine for 8/16bit MCU.
I think it is simple and readable. Hope it can help you.
Have a great day,
Jennie Zhang
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------