配对的Atmega168以稍微不同的时钟速度运行

时间:2014-03-25 00:27:28

标签: arduino

我有四个来自Seeedstudio的RFBEE。

我已经能够使用相同的代码重新编程它们。但其中一个似乎以稍微不同的速度运行。

在建立串行连接以改变波特率时,我首先注意到了这一点。 无论我使用9600,19200还是38400,其中一个设备的每个响应的结束都被扰乱了,所以不是" 1 ok"我得到的是" 1 o€"什么的。

每个设备都有一个心跳LED,我注意到故障的设备以不同的速度运行,它似乎每十分钟丢失大约1秒钟。

有没有人有任何想法是什么问题? 除了3v3 GND Tx和RX引脚之外,我已从RFBEES断开所有连接。我正在使用Arduino Mega与他们沟通。

是否有可能为其中一个设备设置不同的保险丝?

在循环()中调用Serial.println(F_CPU)的结果是:

用于正常运行的设备

8000000
8000000
8000000
8000000
8000000

对于发生故障的

80000Cá800Cá8000j
80000
á800
á800Cá80j
800Cá80j
800j
800
á80000Cá800
á8000j
80000
á80j
8000Cá80000
á8000j

1 个答案:

答案 0 :(得分:0)

首先要检查的是Arduino故障是​​使用内部RC振荡器还是外部晶振。内部RC比晶体更慢,准确度更低,并且肯定会导致您看到的各种定时误差。

您可以检查芯片reading the fuse bits使用的振荡器。

如果使用外部晶振,则可能是故障设备存在硬件问题。