You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino中for循环内analogRead无法达到循环外的速度问题

Arduino电机调速问题

硬件信息

使用的Arduino型号:一款亚马逊在售的兼容板(商品编码B01D0OI90U)

代码截图

代码截图

问题详情

我的代码中,第8-11行负责向电机驱动器发送脉冲,脉冲间隔由第11行的变量V决定。电机先循环L次脉冲移动到指定位置,再通过第13-17行反转方向回到原点——其中L是电机的运行行程,V是运行速度。

V(后续L也计划采用同样方式)是从电位器读取的值(对应代码第6行)。为了实现速度实时调节,我需要将电位器读取代码移入循环,避免每次都要等整个循环结束才能改变速度。但移入后,电机的最大速度大幅降低:原本脉冲间隔能达到2.6微秒,现在却只有约200微秒,而把读取代码放在循环外时,速度能正常达到更高水平,我不清楚原因所在。

已尝试的操作

  • 将第6行的电位器读取代码移入循环,导致最大速度暴跌;
  • 将这段代码移至void setup中,电机完全无法正常工作;
  • 将代码移至void setup之前,速度固定在约222微秒,无法调节。

电机本身显然能达到更高速度,问题应该出在我不熟悉的代码/语言特性上,作为新手毫无头绪,恳请各位解答。


内容的提问来源于stack exchange,提问作者amidar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:52:52