2016-04-06 23 views
0

現在、私はArduino Megaにセンサーを接続し、読み取り値をシリアル経由でBeaglebone Blackに印刷しています。私は、Arduinoのシリアルモニタに見られるような方法でタイムスタンプを持つようにデータが必要です。例えば:arduino serial monitorUARTデータ転送

テスト目的のために、私は単にArxinoにtxピン(ただしタイムスタンプではない)に右の列を印字するよう指示します。ビーグルボーンはそのデータをUART1ピンから受け取ります。私がビーグルボーンに言いましたことはミリ秒単位のタイムスタンプを印刷し、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()関数が使用する権利はないかなり確信しています。私が探しているのは、タイマーを開始し、プログラムの開始から経過したミリ秒とRXピンからのデータの受信を出力するものです。

私の質問はPythonでも存在しますか?私が見つけたのはtime.time()やtime.clock()ですが、動作していないようです。 Arduino-IDEにはmillis()と呼ばれる機能がありますが、Pythonには機能性の点で同等の機能はありません。

答えて

0

私が探している種類のタイマーを開始し、その後、Pythonの3へのアクセスを持っている場合はプログラム

#!/usr/bin/env python 
from time import time as timer 

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

の開始から経過したミリ秒を出力何かがあります

from time import monotonic as timer 

time.monotonic()は、システムクロックの更新の影響を受けません。