我正在使用python 2.7 。 我從UART獲取串行數據。使用python將數組值存儲在文本文件中
我試圖保存串行數據值以及數據收到時的實時。
從UART接收數據的形式爲:
2.1862745098X 2.42156862745X 2.42156862745X 0.401960784314X 0.0X 0.637254901961X 1.49019607843X ............等等等等
我正在與時間一起使用下面的代碼保存的值:我面臨
f1 = open('accelerometer sensor1.txt','w')
while 1:
# Read from serial port, blocking
data =ser.read(1)
data1=(data)
# If there is more than 1 byte, read the rest
n = ser.inWaiting()
data1 = (data1 + ser.read(n))
l = data1.split()
#t1 = datetime.datetime.now()
x = [d.strip("X") for d in l if d[len(d)-1] == "X"]
for i in range(0,len(x)):
f1.write(str(datetime.datetime.now()))
f1.write("\t")
f1.write(str(x[i]))
f1.write("\n")
問題是我在特定時間接收大數目的值。所以,當我保存數據,它的形式是:
2014-09-22 11:30:40.980000 2.1862745098
2014-09-22 11:30:40.980000 2.42156862745
2014-09-22 11:30:40.980000 1.71568627451
2014-09-22 11:30:40.980000 0.401960784314
2014-09-22 11:30:40.980000 0.0
2014-09-22 11:30:40.980000 0.637254901961
2014-09-22 11:30:40.980000 1.49019607843
2014-09-22 11:30:40.980000 2.42156862745
2014-09-22 11:30:40.980000 2.5
2014-09-22 11:30:40.980000 1.58823529412
2014-09-22 11:30:40.980000 0.78431372549
2014-09-22 11:30:40.980000 0.0
2014-09-22 11:30:40.980000 0.196078431373
2014-09-22 11:30:40.980000 1.17647058824
2014-09-22 11:30:40.980000 1.74509803922
2014-09-22 11:30:40.980000 2.49019607843
2014-09-22 11:30:40.980000 2.44117647059
2014-09-22 11:30:40.980000 1.33333333333
2014-09-22 11:30:40.980000 0.558823529412
2014-09-22 11:30:40.980000 0.0
2014-09-22 11:30:40.980000 0.205882352941
2014-09-22 11:30:40.980000 1.43137254902
2014-09-22 11:30:40.980000 2.08823529412
我不想以這種形式,我想收到的每個樣本的實時寧可實時的收到一組樣本點。
我想文本文件顯示是這樣的:
2014-09-22 11:30:40.980000 2.1862745098
2014-09-22 11:30:40.980010 2.42156862745
2014-09-22 11:30:40.980020 1.71568627451
2014-09-22 11:30:40.980030 0.401960784314
2014-09-22 11:30:40.980040 0.0
我該怎麼辦呢?請提出一些建議。
Thanks`
編輯
我想每個採樣點有不同的時間戳。這應該是可能的,因爲每個採樣點都是單獨通過串行端口而不是組中的。我認爲如何閱讀這些樣本點可能存在問題,如果我能夠以某種方式單獨閱讀它們,那麼我的目的就會得到解決。
我試着單獨獲取每個採樣點。我能夠這樣做,但代碼變得非常慢。 我只是做了
data =ser.readline(5)
data1=(data)
價值觀通過UART來是類型: 127X 154X 100X 158X 0X 20X .............
有沒有辦法閱讀價值單獨和也不會影響速度。
你知道你想要的格式嗎?如果是這樣,請添加它。如果不是,請描述更多你的需求。你似乎不需要有歷史數據,對嗎? – mrcrgl 2014-09-22 09:09:36
請再次檢查問題。我添加了所需的格式。 – yuvraj 2014-09-22 09:20:45