我正在使用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