首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UART数据传输

UART数据传输
EN

Stack Overflow用户
提问于 2016-04-07 04:29:59
回答 1查看 133关注 0票数 0

目前,我正在将传感器连接到Arduino Mega,并通过串行方式将读数打印到Beaglebone Black。我需要的数据有时间戳的方式在Arduino的串行监视器中看到。例如:arduino serial monitor

出于测试目的,我只是告诉Arduino继续将正确的列打印到tx引脚(而不是时间戳)。然后,beaglebone通过它的UART1引脚接收数据。我告诉beaglebone要做的是以毫秒为单位打印时间戳,然后从Arduino接收时间戳。我得到的是:Beaglebone's output file

显然,这里有一些非常不对劲的地方。我得到的值绝对不应该是除1以外的任何值,并且时间戳不正确。

我写的代码的相关部分如下:

代码语言:javascript
复制
    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似乎没有同等的功能。

EN

回答 1

Stack Overflow用户

发布于 2016-04-07 05:01:46

我正在寻找的东西是启动一个计时器,排序并输出自程序开始以来经过的毫秒

代码语言:javascript
复制
#!/usr/bin/env python
from time import time as timer

start = timer() 
...
elapsed_seconds = timer() - start
elapsed_milliseconds = elapsed_seconds * 1000

如果您有访问Python 3的权限,请使用:

代码语言:javascript
复制
from time import monotonic as timer

time.monotonic()不受系统时钟更新的影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36461723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档