Skip to content

踩坑Robotics Stack Exchange2018-12-11

Arduino 中按钮闪烁会中断步进电机运行 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Is it possible to run multiple loops at the same time? (Arduino)(Robotics Stack Exchange #2028)

状态:已解决

问题 ​

Arduino 程序中步进电机往返运行,同时读取按钮控制扫描器信号;按下按钮时会导致电机停止或被覆盖,无法并行执行。

环境 ​

嵌入式控制器 / 串口通信

解决办法 ​

  1. 不要在按钮处理里使用 delay(5),因为它会暂停代码执行。
  2. 在每次 loop() 中调用 millis() 获取当前时间。
  3. 用基于时间的函数计算 pulseopto1 的状态,例如按下按钮后在 interval 时间内为 HIGH,之后为 LOW。
  4. 每次循环都读取按钮并直接更新 startScan,同时调用 stepper1.moveTo(...) 和 stepper1.run(),避免条件延时阻塞。

原问题作者:hollander;采纳答案作者:Ian。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #2028:Is it possible to run multiple loops at the same time? (Arduino)访问 2026-10-22