本帖最后由 MOP 于 2016-10-27 23:32 编辑
嗯,這樣學習是好的,翻轉問題是故意這樣寫的,因為直接給您Code還是不太好:)
所以還需要改動的,While loop會一直執行,而BEEPER值必須跟著val值改變,所以正確做法如下,單一定時器
const uchar on_off[5]={0,1,0,1,0};
那麼While loop修改如下:
if(beeper)
{
if(val另外ALARM_TIME之所以是5不是6是因為:
第0秒之後,if成立,BEEPER=0,鳴叫
第1秒之後,if成立,BEEPER=1,關閉
第2秒之後,if成立,BEEPER=0,鳴叫
第3秒之後,if成立,BEEPER=1,關閉
第4秒之後,if成立,BEEPER=0,鳴叫
第5秒之後,if不成立,進入else,BEEPER=1,關閉
這樣應該很明白了:)