使用示波器文件,我尝试使用带有 micaz motes 的 tinyos 以 10ms 的速率进行采样。如果我以 10ms 采样,这意味着我应该每秒获得 100 个数据包,我只能成功接收到每秒 50 个数据包并显示在终端窗口上.为了解决这个问题,我进入以下目录:/tos/sensorboards/mts300并打开Accelp.nc文件。相关部分代码如下所示:
async command uint8_t ConfigY.getRefVoltage()
{
return ATM128_ADC_VREF_OFF;
}
async command uint8_t ConfigY.getPrescaler() {
return ATM128_ADC_PRESCALE_64;
}
command error_t SplitControl.start() {
call AccelPin.makeOutput();
call AccelPin.set();
call Timer.startOneShot(14); //orignally at 17ms
return SUCCESS; }
我在上面的代码中将计时器值更改为 14 毫秒,而不是原来的 17 毫秒。所以这使我能够以 10 毫秒的采样率获得 100% 的数据包效率,即每秒 100 个数据包。但是在这样做之后,我注意到即使加速度计完全静止,我的信号也会受到干扰。有没有办法可以消除这种干扰并获得 100% 的数据包传输,我是否在做正确的事情来获得 100% 的传输成功?更改 pre-scalar 的返回值似乎根本没有太大的影响。