2011-01-28 17 views
0

(Python25を使用して、PySerialのため)バイトの整数の変換が、私はそれを把握することができていませんマイクロコントローラと通信する。私はインデックスの場所を送信したいと思いますが、送信すると、PySerialは数字のASCIIを送信します(0を送信すると48を送信します)。は、それが簡単でなければならないようにこれはそう

私はPython26のために知っているとアップし、私は組み込みのバイト機能それほどなどで数を同封します:

self.index = bytes([index]) 

しかし、Python25はその機能はありません。私は同等のことを示唆する文書を見つけることができません。誰が私が何をすべきか知っていますか?

ありがとうございます!

編集:申し訳ありませんが、ここに私のコードの簡易版だ...

class SecondaryImage(): 
    def __init__(self, index): 
     self.index = index 
    def sendIndex(self): 
     serial.write(self.index) 

for i in range(64): 
    img = SecondaryImage(i) 
    imgs.append(img) 

そして私はsendIndex(呼びたい)が

imgs[2].sendIndex() 
+0

コードを表示します。数値を文字列に変換する余分な引用符があるように思えます。 –

+0

これも実行されません、それは 'TypeError:__init __()は2つの引数(3つの引数)をとります'を投げます。 'self'なしで初期化を' img = SecondaryImage(i) 'に変更するだけです。 –

+0

ああ、そうです、ごめんなさい - それは私のコードの無関係な要素を取り除くための私の試みにとっての犠牲者でした。 SecondaryImageは通常より多くのパラメータを必要としますが、関連性のないビットを残しました。私はforループで 'self'を取るのを忘れてしまった!再び、それについて申し訳ありません。 – Justin

答えて

2

chrがビルトインされていますseperately--あなたが送った序数のキャラクターでしょうか?

+0

これは、ありがとう! – Justin

1

シリアルはASCIIで通信するので、数字をASCII文字に変換するにはchrを使用します。

+0

これは、ありがとう! – Justin

関連する問題