为以下代码写注释void timer_test (void) { uart printf("\n WatchDog Timer Test Example\n"); uart printf(" 10 seconds:\n"); 5. f_ucSecondNo = 0: 6. ClearPending(BIT WDT): // clear interrupt pending bit 7. pISR WDT=(unsigned)atchdog int; // Initialize woT interrupt handler entry 8. rWTCON = ((PCLK/1000000-1)<<8)l(3<<3)l(1<<2); //(0<<5)| // 1M,1/128, enable interrupt 9. rWTDAT = 7812*2: //1M/128=7812 10. rWTCNI = 7812*2; 11. rWTCON|=(1<<5); 12. rINTMOD & = ~(BIT_WDT); rINTMSK &="(BIT WDT): while((fucSecondno)<6); 13. rINTMSK & = ~(BIT_WDT); // mask watchdog timer interrupt 14. uart_printf(" End.\n"); 15. /*********************************************************/ 16. name: watchdoa int 17. func: watchdog interrupt service routine 18. para: none 19. ret: none 20. modify: 21. comment: 22. /*********************************************************/ 23. void_irq watchdog int (void) 24. { 25. ClearPending(BIT WDT):; 26. f_ucSecondNo++; 27. if(fucSecondNo<6) 28. uart printf(" eds ",f ucSecondNo); 29. if(f_ucSecondNo==6){ 30. uart printf(" ok "); 31. } 32. }
时间: 2023-06-29 16:05:12 浏览: 97
/*
* 该函数是一个定时器测试例子,用于测试看门狗定时器。
* 参数:无
* 返回值:无
*/
void timer_test (void) {
/* 输出测试信息 */
uart_printf("\n WatchDog Timer Test Example\n");
uart_printf(" 10 seconds:\n");
/* 初始化计数器和清除看门狗中断挂起位 */
f_ucSecondNo = 0;
ClearPending(BIT_WDT);
/* 初始化看门狗中断处理函数并设置看门狗定时器 */
pISR_WDT = (unsigned)watchdog_int; // 设置看门狗中断处理函数
rWTCON = ((PCLK/1000000-1)<<8) | (3<<3) | (1<<2); // 设置看门狗定时器,1M, 1/128, enable interrupt
rWTDAT = 7812*2; // 设置计数器初值,1M/128=7812
rWTCNT = 7812*2;
rWTCON |= (1<<5);
/* 解除对看门狗定时器中断的屏蔽 */
rINTMOD &= ~(BIT_WDT);
rINTMSK &= ~(BIT_WDT);
/* 等待计时结束 */
while((f_ucSecondNo) < 6);
/* 屏蔽看门狗定时器中断并输出测试结束信息 */
rINTMSK &= ~(BIT_WDT);
uart_printf(" End.\n");
}
/*********************************************************/
/*
* 该函数是看门狗定时器中断服务例程。
* 参数:无
* 返回值:无
*/
void_irq watchdog_int (void) {
/* 清除看门狗定时器中断挂起位 */
ClearPending(BIT_WDT);
/* 计数器加一,并在计时结束时输出信息 */
f_ucSecondNo++;
if(f_ucSecondNo < 6)
uart_printf("%d seconds ", f_ucSecondNo);
if(f_ucSecondNo == 6) {
uart_printf(" ok ");
}
}
阅读全文