作者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/cn.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