Python UART数据传输
目前,我正在将传感器连接到Arduino Mega上,并通过串行方式将读数打印到Beaglebone Black上。我需要数据以Arduino串行监视器中看到的方式具有时间戳。例如: 出于测试目的,我只是告诉Arduino继续将正确的列打印到tx引脚(而不是时间戳)。beaglebone然后通过其UART1引脚接收该数据。我告诉beaglebone要做的是以毫秒为单位打印一个时间戳,然后再打印它从Arduino接收到的信息。 我得到的是这个: 显然,这里有点不对劲。我得到的值肯定不是1以外的值,时间戳也不好 我编写的代码的相关部分:Python UART数据传输,python,time,arduino,beagleboneblack,uart,Python,Time,Arduino,Beagleboneblack,Uart,目前,我正在将传感器连接到Arduino Mega上,并通过串行方式将读数打印到Beaglebone Black上。我需要数据以Arduino串行监视器中看到的方式具有时间戳。例如: 出于测试目的,我只是告诉Arduino继续将正确的列打印到tx引脚(而不是时间戳)。beaglebone然后通过其UART1引脚接收该数据。我告诉beaglebone要做的是以毫秒为单位打印一个时间戳,然后再打印它从Arduino接收到的信息。 我得到的是这个: 显然,这里有点不对劲。我得到的值肯定不是1以外的值,
z = 0
millis = lambda: int(float(time.time()))
sensorValue = 0
header = 'Sensor 1 output'
data.write(str(header))
data.write(str('\n'))
while z==0:
sensorValue = ser.read() #add more for more pins
data.write(str(float(time.clock()*1000)))
data.write('\t')
data.write(sensorValue) # tosses what's coming in at pin to our file
data.write('\n')
我很确定time.time()函数不适合使用。我要找的是一种启动计时器的东西,它可以排序并输出从程序启动到接收到RX引脚的数据所经过的毫秒数
我的问题是Python中是否存在这种情况?我所能找到的只有time.time()或time.clock(),但它们似乎不起作用。Arduino IDE有一个名为millis()的函数,它正是这样做的,但Python在功能上似乎没有与之相当的功能
我要寻找的是一种能够启动排序计时器并输出自程序启动以来经过的毫秒数的东西
如果您可以访问Python 3,请使用:
from time import monotonic as timer
不受系统时钟更新的影响
from time import monotonic as timer