目前,我正在将传感器连接到Arduino Mega,并通过串行方式将读数打印到Beaglebone Black。我需要的数据有时间戳的方式在Arduino的串行监视器中看到。例如:arduino serial monitor。
出于测试目的,我只是告诉Arduino继续将正确的列打印到tx引脚(而不是时间戳)。然后,beaglebone通过它的UART1引脚接收数据。我告诉beaglebone要做的是以毫秒为单位打印时间戳,然后从Arduino接收时间戳。我得到的是:Beaglebone's output file。
显然,这里有一些非常不对劲的地方。我得到的值绝对不应该是除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()函数不适合使用。我正在寻找的东西是启动一个计时器的排序,并输出毫秒已经过去的程序启动和接收数据从接收引脚。
我的问题是,这在Python中是否存在?我所能找到的只有time.time()或time.clock(),但它们似乎都不起作用。Arduino-IDE有一个名为millis()的函数可以做到这一点,但就功能而言,Python似乎没有同等的功能。
发布于 2016-04-07 05:01:46
我正在寻找的东西是启动一个计时器,排序并输出自程序开始以来经过的毫秒
#!/usr/bin/env python
from time import time as timer
start = timer()
...
elapsed_seconds = timer() - start
elapsed_milliseconds = elapsed_seconds * 1000如果您有访问Python 3的权限,请使用:
from time import monotonic as timertime.monotonic()不受系统时钟更新的影响。
https://stackoverflow.com/questions/36461723
复制相似问题