0

我仍然不明白如何每个数据文件只捕获一个脉冲

我的教授和我正在尝试修改下面的代码,以便在我们从 Arduino 收到的每个脉冲后发送一个唯一命名的 .txt 文件。到目前为止,我们的努力没有结果。现在它会将一段时间后收到的所有数据发送给我们,并将所有脉冲数据编译到一个文件中。由于文件名没有改变,存储在文件中的数据只是临时的。

Arduino Sketch 被称为 Girino,可以在这里找到。我们希望修改的代码是附带的名为 readgirino.py 的 Python 代码,可在步骤 #23 下找到。我认为我们必须修改这个循环;

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] )

有什么建议么?

谢谢!

更新 - 创建一个唯一的文件名解决了:

  stream.write('S')
    stream.flushInput()
    n = n + 1
np.savetxt( "data" +str( n) + ".txt", eventData[4] ) 

虽然我仍然不明白如何只捕获每个数据文件的一个脉冲。


Girino 代码没有提到 eventData,但我认为这意味着在我运行 readgirino.py 代码后出现在终端窗口中的数组: Girino 告诉我它已准备好缓冲区大小:1280

波特率:115200

等待时间:1248

预分频器:128

触发事件:3

门槛:127

将预分频器设置为:128

将阈值设置为:50

缓冲区大小:1280

波特率:115200

等待时间:1248

预分频器:128

触发事件:3

门槛:50

[数组([0, 0, 0, ..., 0, 0, 0])] [数组([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]), 数组([0, 0, 0, ..., 0, 0, 0])] [数组([0, 0, 0, ..., 0, 0, 0]) , 数组([0, 0, 0, ..., 0, 0, 0]), 数组([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]), 数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0]), 数组([0, 0, 0, ..., 0, 0, 0])]

4

1 回答 1

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 )
于 2014-07-25T16:07:35.503 回答