我正在使用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