統測
115年
[電機與電子群資電類] 專業科目(2)
第 17 題
MCU 內部通常有看門狗計時器(Watchdog Timer,WDT),在 WDT 逾時或 MCU 異常當機時,可以重置 MCU。下列 MCU 片段程式可以編譯且可以使用PWM(脈波寬度調變)訊號控制直流電動機轉速,但是每隔一段時間 MCU 會自動重置,原因為何?\n1 int main(void) \n2 { unsinged char x = 1; \n3 EnableWatchDogTimer(); // 致能看門狗計時器\n4 … \n5 SendPWM2RunMotor(200); // 送出PWM使直流電動機以200rpm持續轉動\n6 while(1){ \n7 //ResetWatchDogTimer(); // 重置看門狗計時器(Watchdog Timer) \n8 LeftShiftLED((x)? (x=x<<1):(x=1)); // 讓LED平移點亮\n9 …}}
- A 看門狗計時器沒有被致能
- B 看門狗計時器沒有被週期性重置
- C MCU 沒有外接石英振盪器
- D 行號6與行號8程式邏輯有錯,導致看門狗計時器誤動作