我正在使用SDCC编译器。在定时器中断中断期间重新配置定时器8051
我想要实现的是在模式2自动重新加载时,在自己的中断处理程序中重新配置Timer0。下面是C代码:
void reconf(void) __interrupt(1){
TR0=0;
TH0=0xC0;
TL0=0xC0;
TR0=1;
}
这里的问题:
是否有可能自己的中断处理程序执行期间重新配置TL0和TH0,定时器0在模式2自动重载模式?
重新配置期间是否需要停止Timer0,因为它在中断期间没有运行?
在中断例程 启动之前,TH0和TL0值是否被压入堆栈?如果将这些值压入堆栈,然后在例程处理程序执行过程中重新配置这些值,这些值是否会从中断退出时从堆栈弹出的值覆盖 ?
我查看了编译C代码后由sdcc生成的HEX文件,看起来TH0和TL0在执行任何中断例程之前没有被压入堆栈。 – distortedbsd
而且,我试图通过它的中断例程来重新配置timer0,它可以工作。 – distortedbsd