問題タブ [uint16]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python: uint16_t の配列を文字列に変換します (RS-485 経由の Arduino から)
modbus rtu 経由で json を送信しようとしています (modbus の使い方が非常に悪いことはわかっています)。
Arduino USBをCOM5としてPCに接続し、USB-RS485に接続されたRS485コンバータをCOM4としてPCに接続しました。
QModBusアプリケーションを使用して Arduino からデータを読み取ると、大量のバイト (COM4) が表示されます。
制御用: QModBus から「保持レジスタの読み取り」を送信した後、「Arduino USB ポート」(COM5) の Arduino シリアル モニタは有効な文字列を出力します。つまり、modbus バイトは問題ないということです。
私のArduinoコードがあります:
しかし、これらのバイトをPythonでjson文字列に変換する方法がわかりません。私のコード:
コードは QModBus と同じ値を出力します:
arduinoのシリアルモニターでわかるように、これらの数値をjson文字列に変換するにはどうすればよいですか?
また、modbus 経由で送信するために Python 文字列を「uint_16t」に変換する方法。
ありがとうございました!
ios - 最初のゼロをスキップせずに文字列をintに変換する方法は?
注-ここでhexttoIntを変換しようとしていません..私が達成したいのは、16進形式のシリアル番号305419896(10進数)の9桁が12345678であることです..0x1234を1つの値として、0x5678を他の値として取得しようとしています価値..
"0145"
私の10進数は021340031で、16進数は01459F7Fで、とのような2つの文字列に分割されて"9f7f"
います..この文字列値は、 0x0145 、 0x9f7f ..のような形式で必要です。
そのために、最初に Str を Int に変換しようとしています。
それから私は得て145
います..
String を UInt16 に直接変換する方法はありますか、または期待値を取得するための回避策はありますか?