Answers:
没有硬件原因(据我所知),您无法在20 MHz上运行合适的Arduino。但是,您会在软件中遇到微小的时序误差,因为标准的Arduino配置显然在时钟速度为8或16MHz时效果最佳。
我怀疑这主要是出于历史原因。早期的Arduino开发板基于仅可提高至16 MHz的芯片,例如ATmega8
。所有芯片都使用相同的配置只会使一切变得更简单,更一致。
这里有有关计时问题的更多信息:http : //forum.arduino.cc/index.php?topic=158223.0#msg_1186708
可以,我愿意。
我想这在技术上不再是Arduino。我制作了自己的电路板,更换电路板上的谐振器将需要进行一些精细的焊接,但是绝对有可能。
有一些陷阱:与时间相关的任何事物(例如millis())的运行速度都将比正常情况下快-每秒的millis()速度提高25%。另外,引导程序期望16MHz的速度,因此您将无法以这种速度对其进行重新编程。我购买了一个USBASP编程器-它挂在板子一侧的2x3引脚网格中,让您无需引导加载程序即可对其进行重新编程(这是引导加载程序首先放置的方式!)。为避免出现问题,在20MHz时至少需要4.5伏电压,而在16MHz时则需要3.78伏电压-这意味着电池的耗电速度会更快(3x1.5v电池会很快耗尽),并且如果您有任何电动机或其他耗电设备,电池,即使是新鲜的3节1.5v电池也可能无法工作。
或者,沿完全相反的方向运行,时钟速度越低,所需的电压就越少-对于某些项目,您可能不需要时钟速度-您可以将电压降至4Vhz时的1.8v。