我想知道在捕捉到中断之前,程序行中最后执行的指令是什么。似乎无法读取微控制器堆栈。
最佳答案
这在PIC16上是不可能的,因为软件无法访问硬件堆栈。但是,可以访问PIC18上的硬件堆栈。应用说明Manipulating the Stack of the PIC18 Microcontroller是一个很好的参考。
如果您只想在调用中断时看到PCL值被推送到堆栈上,那么您只需要读取TOSU
、TOSH
和TOSL
寄存器。
我想知道在捕捉到中断之前,程序行中最后执行的指令是什么。似乎无法读取微控制器堆栈。
最佳答案
这在PIC16上是不可能的,因为软件无法访问硬件堆栈。但是,可以访问PIC18上的硬件堆栈。应用说明Manipulating the Stack of the PIC18 Microcontroller是一个很好的参考。
如果您只想在调用中断时看到PCL值被推送到堆栈上,那么您只需要读取TOSU
、TOSH
和TOSL
寄存器。