kingman 发表于 2009-4-18 18:00:49

PICC编写中断服务程序的要领

编写ISR 的要领为:
· 不带参数并以void 返回值类型声明ISR (强制)
· 不要通过一般程序调用ISR (强制)
·不要用ISR 调用其他函数(建议)
MPLAB C30 的ISR 和任何其他C 函数一样,可以有局部变量,可以访问全局变量。
但是, ISR 需要声明为没有参数,没有返回值。这是必须的,因为ISR 作为对硬件中
断或陷阱的响应,对它的调用与一般C 程序异步(即ISR 不是按通常的方式调用的,
因此不能有参数和返回值)。
ISR 只能通过硬件中断或陷阱调用,不能通过其他C 函数调用。ISR 使用中断返回
(RETFIE)指令退出函数,而不是使用一般的RETURN 指令。不恢复现场使用
RETFIE 指令退出中断服务程序会破坏处理器资源,如status 寄存器的值。
最后,由于中断响应时间的原因,建议不要使用ISR 调用其他函数
页: [1]
查看完整版本: PICC编写中断服务程序的要领