2010年11月29日 星期一

switch case and watchdog

1.如果在switch case中,需等候I/O腳位變化,而決定是否往下執行,
可以把while(status)改寫成if (! status) then step++,避免程式卡在while loop,浪費時間,step中的watchdog也可以不需要去控制。

2.避免有以下寫法:

switch (step)
{
    case 0:
        WDT_stop();
        .......
        step++;
        break;
  
    case 1:
       .......
       step++;
       break;

    case 2:
      ......
      WDT_restart();
      break;
}

在step0到1的過程當中,WDT已經在main()又被開啟了,因此程式容易有不可預期的情形產生。

沒有留言:

張貼留言