StrongZhu 发表于 2013-7-28 14:40:19

[求助]如何最快地Arduino获取输入信号?

外部信号不断变化,Arduino检测到变化之后,产生相应行为,现在的代码是借用范例程序里"BlinkWithoutDelay"。
基本上就是没间隔 'threshold'这么多时间单位,就可以检测触发一次。


void loop()
{
   // get NOW   , 获得当前时间
   if (NOW - prevValue > threshold)// 如果当前时间与上一次时间超过一定数量
{
      // 检测信号,触发行为
   prevValue = NOW
}
}


还想更快一些。

假设上面的threshold是0,也就是loop没运行一次,Arduino就会去检测,
这时的检测(频率)是多少?

另:
这样感觉CPU在不断忙碌,有更好的方式吗?
毕竟信号变化不是那么频繁,能否等信号发生变化时,自动触发?

多谢。

林定祥 发表于 2013-7-28 17:37:24

使用中断,不管在何时端口有变化立即感知。
页: [1]
查看完整版本: [求助]如何最快地Arduino获取输入信号?