0
私はPythonにはとても新しく、LibMPSSEライブラリを使用してHoneywell差圧センサーから圧力データを読み込もうとしています。私はAdafruit FT232Hチップからそれを読んでいて、私はubuntu LinuxでPython 2.7.6を使用しています。印刷時に奇妙なPythonの出力
#!/usr/bin/env python
from mpsse import *
SIZE = 2 # 2 bytes MSB first
WCMD = "\x50" # Write start address command
RCMD = "\x51" # Read command
FOUT = "eeprom.txt" # Output file
try:
eeprom = MPSSE(I2C)
# print "%s initialized at %dHz (I2C)" % (eeprom.GetDescription(), eeprom.GetClock())
eeprom.Start()
eeprom.Write(WCMD)
# Send Start condition to i2c-slave (Pressure Sensor)
if eeprom.GetAck() == ACK:
# ACK received,resend START condition and set R/W bit to 1 for read
eeprom.Start()
eeprom.Write(RCMD)
if eeprom.GetAck() == ACK:
# ACK recieved, continue supply the clock to slave
data = eeprom.Read(SIZE)
eeprom.SendNacks()
eeprom.Read(1)
else:
raise Exception("Received read command NACK2!")
else:
raise Exception("Received write command NACK1!")
eeprom.Stop()
print(data)
eeprom.Close()
except Exception, e:
print "MPSSE failure:", e
がライブラリによると、読み取りがsizeバイトの文字列を返し、私はデータを印刷したいときはいつでも、私は見るだけ出力され2T_`ʋQ} */eE 。私はutf-8でエンコードしようとしましたが、まだ運がありません。
このライブラリの経験はありません。あなたの最後の 'の後に' print(type(data)) 'と' print( '、join([' {{d}どのデータがどのデータであり、何が含まれているのかを確認するだけです。 –
@AGNGazerこれは、 6,94を出力します。 map(ord、data)])))))のxのprint( '、{:d}'。 –
Rking14
この長い文は、基本的に、 'data'文字列の各文字列に対応するカンマ区切りのASCII値を出力するためのものです。だから、あなたのデータ文字列は2文字しか含まれていないようです...これはあなたが期待するものですか? –