单片机硬件中断是当中断发生时由硬件强行将pc的值改变来实现的程序的跳转。
那如果我把硬件中断这些部件从内核里拿掉。
设计一个循环,不断访问单片机某个寄存器xxx的值。当值为1的时候正常执行,当值为0的时候强行把pc的值改变,从而进入中断。
while(1)
{
if(xxx==1);
if(xxx==0)
{
压栈;
pc=中断执行函数的地址;
}
}
int zhongduan() intterupt //中断执行函数
{
程序若干;
出栈还原pc值;
}
假设执行过程中,寄存器的值为1的时候,程序按顺序执行。
当寄存器的值为0的时候,压栈,然后把中断执行程序的地址强行赋给pc。
我想请教一下,这样也可以实现中断吗?
没看到动你想干什么,想实现前后台还是单纯的想实现调度。