本文来自http://blog.youkuaiyun.com/hellogv/
//以下代码主要实现SPCE061A每隔0.5秒就运行一次,注意以下代码一定要在ICE模式下运行! #include "SPCE061.H" main() { asm("INT OFF");//关中断 *P_IOB_Dir=0xFFFF; *P_IOB_Attrib=0xFFFF; *P_IOB_Data=0xFFFF; *P_INT_Ctrl=C_IRQ5_2Hz;//只要把2Hz改为4Hz就可以改变频率 asm("INT IRQ");//开中断 while(1) { *P_Watchdog_Clear = C_WDTCLR; } } //以下是中断服务程序: unsigned int g_uiOutput=0; unsigned int second=0; void IRQ5(void) __attribute__ ((ISR)); void IRQ5(void) { if(*P_INT_Ctrl&C_IRQ5_2Hz) { g_uiOutput++; //output if(g_uiOutput==6) //定时3秒 { second++; g_uiOutput=0; } *P_Watchdog_Clear=0x0001; *P_INT_Clear=C_IRQ5_2Hz;//清中断 } }
//以下代码主要实现SPCE061A每隔0.5秒就运行一次,注意以下代码一定要在ICE模式下运行! #include "SPCE061.H" main() { asm("INT OFF");//关中断 *P_IOB_Dir=0xFFFF; *P_IOB_Attrib=0xFFFF; *P_IOB_Data=0xFFFF; *P_INT_Ctrl=C_IRQ5_2Hz;//只要把2Hz改为4Hz就可以改变频率 asm("INT IRQ");//开中断 while(1) { *P_Watchdog_Clear = C_WDTCLR; } } //以下是中断服务程序: unsigned int g_uiOutput=0; unsigned int second=0; void IRQ5(void) __attribute__ ((ISR)); void IRQ5(void) { if(*P_INT_Ctrl&C_IRQ5_2Hz) { g_uiOutput++; //output if(g_uiOutput==6) //定时3秒 { second++; g_uiOutput=0; } *P_Watchdog_Clear=0x0001; *P_INT_Clear=C_IRQ5_2Hz;//清中断 } }