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