关于单片机中断实现的方法。

单片机硬件中断是当中断发生时由硬件强行将pc的值改变来实现的程序的跳转。

 

那如果我把硬件中断这些部件从内核里拿掉。

设计一个循环,不断访问单片机某个寄存器xxx的值。当值为1的时候正常执行,当值为0的时候强行把pc的值改变,从而进入中断。

while(1)

{

   if(xxx==1);

   if(xxx==0)

  {

       压栈;

      pc=中断执行函数的地址;

 

  }

}

int zhongduan() intterupt   //中断执行函数

{

程序若干;

出栈还原pc值;

}

假设执行过程中,寄存器的值为1的时候,程序按顺序执行。

当寄存器的值为0的时候,压栈,然后把中断执行程序的地址强行赋给pc。

我想请教一下,这样也可以实现中断吗?

没看到动你想干什么,想实现前后台还是单纯的想实现调度。