看板 Electronics 關於我們 聯絡資訊
我程式寫一個亮燈還有啟動碼達一個週期的排程照顧植物 其中部分用analogwrite寫了5支腳位給led燈 後寫delay兩小時 再關掉 燈卻1分到兩分多就自己關掉繼續跑下面程式 且每次loop關掉的時間都不ㄧ樣 有試過只延遲 20秒 也是有提早關掉(有時1秒有時7秒有時正常都不固定) 完全無法理解 是有啥原因可能造成? 是一次太多腳位且用pwm寫 暫存問題還是? 求解!謝謝 ----- Sent from JPTT on my HTC_A9u. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.28.18 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1491628607.A.2E3.html
Schottky: 最可能的原因是程式寫錯,拿出來大家參詳一下如何? 04/08 13:34
Schottky: 比如說,delay() 的單位是 ms 而不是秒... 04/08 13:35
HiJimmy: 只能給程式才知道 04/08 15:42
MasterChang: 要準就用Timer算 04/08 18:28
yuleen123: Arduino 的 milli() 函數存取計時變數時沒有先關掉 04/08 18:52
查了有看沒有懂 是要特別改內部程式還是有好用的函式庫直接用?
yuleen123: T0 中斷, 而且計時變數是 32bits, 導致存取到一半時 04/08 18:52
yuleen123: 如果發生 T0 中斷, 取得的計時累加值會不正確 04/08 18:53
※ 編輯: goodboylin77 (223.137.184.39), 04/09/2017 07:49:25
zxp9505007: 建議是不要用delay啦 用count++去算會比較好 04/09 16:46