在一秒内测量ADC样本的最大速率

时间:2015-06-04 14:51:15

标签: arduino

是否有人有一个代码段来测量一秒钟内可实现的ADC样本的最大速率。我知道Arduino中有一个millis()函数。

plt.close()

fig, axes = plt.subplots(nrows=1, ncols=3)

plt.tight_layout(pad=0.05, w_pad=0.001, h_pad=2.0)
ax1 = plt.subplot(131) # creates first axis
ax1.set_xticks([0,2000,500,1000,1500])
ax1.set_yticks([0,2000,500,1000,1500])
ax1.tick_params(labelsize=8) 
i1 = ax1.imshow(U,cmap='hot',extent=(X.min(),2000,Y.min(),2000))

plt.colorbar(i1,ax=ax1,ticks=[U.min(),(U.min()+U.max())/2., U.max()],fraction=0.046, pad=0.04,format='%.2f')


ax1.set_title("$ \mathrm{Ux_{mes} \/ (pix)}$", y=1.05, fontsize=12)
ax2 = plt.subplot(132) # creates second axis
ax2.set_xticks([0,2000,500,1000,1500])
ax2.set_yticks([0,2000,500,1000,1500])
i2=ax2.imshow(UU,cmap='hot',extent=(X.min(),2000,Y.min(),2000))
ax2.set_title("$\mathrm{Ux_{cal} \/ (pix)}$", y=1.05, fontsize=12)
ax2.set_xticklabels([])
ax2.set_yticklabels([])
plt.colorbar(i2,ax=ax2,fraction=0.046, pad=0.04,ticks=[UU.min(),(UU.min()+UU.max())/2.,UU.max()],format='%.2f')


ax3 = plt.subplot(133) # creates first axis
ax3.set_xticks([0,2000,500,1000,1500])
ax3.set_yticks([0,2000,500,1000,1500])
i3 = ax3.imshow(resU,cmap='hot',extent=(X.min(),2000,Y.min(),2000))
ax3.set_title("$\mathrm{\mid Ux_{mes} - Ux_{cal} \mid \/ (pix)}$ ", y=1.05, fontsize=12)
plt.colorbar(i3,ax=ax3,fraction=0.046, pad=0.04,ticks=[resU.min(), (resU.min()+resU.max())/2.,resU.max()],format='%.2f')
ax3.set_xticklabels([])
ax3.set_yticklabels([])

plt.gcf().tight_layout()

plt.savefig('test.eps', format='eps', dpi=1000,  bbox_inches='tight', pad_inches=0.1)

#plt.show()

1 个答案:

答案 0 :(得分:0)

如果你想在一秒钟内计算出你可以处理和ADC的最大次数,你应该尝试一下除了每次都打印一个值!

例如,你可以使用一个for循环,每读取10,000次就算一次。例如。

start = millis()
for(int i = 0; i < 10000; i++){
     analogRead(A0);

}
finish = millis()
total = start - finish
print("This trail took ");
print(total);
print(" miliseconds!");

巧合的是10,000是数据表here告诉你arduino可以运行模拟读取的次数!