|
呵...因為 TONE 會動到硬體計時器,很久以前
我就改用自己寫的 TONE 函式了(用軟體
DELAY 來產生方波間隔控制頻率),快忘了
就我對 TONE() 的印象,沒有 duration 參數
時,你下 tone 指令,該腳位就會一直輸出方波,
直到你下 noTone 指令,但程式會停在 tone
一直執行嗎? 不會,如果會的話,你永遠也沒機會
執行到 noTone 指令了,對吧?
一樣的道理,就算你用了 duration 參數,但程式
並不會等 tone 跑到時間結束才往下一條指令去,
如果你在 tone 的後面接了 noTone,根本沒機會
發出聲音就被你喊停了,這樣你明白
“tone不會等持續時間結束後再去執行下一條句子”
這句話的意思了嗎?
也就是說,如果只發出一個聲音,時間固定,那麼下有
duration 參數的 tone 指令後,你可以繼續後面的程式,
時間到了聲音會自動關閉,不必再下 noTone 指令
如果要連續依序發出多個聲音,你就用沒有 duration
參數的 tone 指令,後面自己用 delay 來控制每個聲音
要多長時間,最後面記得給個 noTone 指令
如果要間斷依序發出多個聲音,你就用有 duration
參數的 tone 指令,後面自己用 delay 來控制每個聲音
要多長時間(含聲響時間+間斷時間),最後面不必再給
noTone 指令 |
|