我仍然不明白如何只为每个数据文件捕获一个脉冲
我的教授和我正在尝试修改下面的代码,在我们从Arduino收到的每一个脉冲之后发送一个唯一命名的.txt文件。到目前为止,我们的努力没有结果。现在它向我们发送一段时间后收到的所有数据,并将所有脉冲数据编译成一个文件。由于文件名不会更改,因此存储在文件中的数据只是临时的。
Arduino Sketch被称为Girino,可以找到here。我们希望修改的代码是在步骤#23下找到的名为readgirino.py的python代码。 我想我们必须修改这个循环;
for i in range(5):
stream.write('s')
eventString = stream.read(1280)
eventData.append(np.array(unpack( '1280B', eventString )))
print eventData
stream.write('S')
stream.flushInput()
np.savetxt( "data.txt", eventData[4] )
有什么建议吗?
谢谢!
UPDATE - 使用以下方法解决了一个唯一的文件名:
stream.write('S') stream.flushInput() n = n + 1
np.savetxt( "data" +str( n) + ".txt", eventData[4] )
虽然我仍然不明白如何只为每个数据文件捕获一个脉冲。
Girino代码没有提到eventData,但我认为它意味着我在运行readgirino.py代码后出现在终端窗口中的数组: 吉里诺告诉我它已经准备好了 缓冲区大小:1280
波特率:115200
等待时间:1248
预分频器:128
触发事件:3
阈值:127
将预分频器设置为:128
将阈值设置为:50
缓冲区大小:1280
波特率:115200
等待时间:1248
预分频器:128
触发事件:3
阈值:50
[array([0,0,0,...,0,0,0])] [array([0,0,0,...,0,0,0]),array([0,0,0,...,0,0,0])] [array([0,0,0,...,0,0,0]),array([0,0,0,...,0,0,0]),array([0,0, 0,...,0,0,0])] [array([0,0,0,...,0,0,0]),array([0,0,0,...,0,0,0]),array([0,0, 0,...,0,0,0]),数组([0,0,0,...,0,0,0])] [array([0,0,0,...,0,0,0]),array([0,0,0,...,0,0,0]),array([0,0, 0,...,0,0,0]),数组([0,0,0,...,0,0,0]),数组([0,0,0,...,0, 0,0])]
答案 0 :(得分:0)
更改" data.txt"在
np.savetxt( "data.txt", eventData[4] )
改变每个脉冲的东西。例如,您可以增加一个数字(data1.txt,data2.txt)。
namestr = "data" + str(n) + ".txt"
n = n + 1
如果要将eventData中的组成数组保存到不同的文件中,则需要额外的for循环:
for event in eventData:
n = n + 1
np.savetxt( "data" + str(n) + ".txt", event )