私のラップトップと私のモジュールとの間で通信したい。そのためには、UARTにいくつかのパケットを送信するPythonファイルを作成します。 Iがパケットを作成するPythonスクリプト(ラップトップ)を有する:最初の2つの数字の読み方は? python + UART
SOF= '24'
SEND_PLAINTEXT= '72'
SEND_KEY ='73'
RECEIVE_CIPHERTEXT='74'
SIZE_OF_FRAME= '10'
for a in range (0,1):
line_array=lines[a]
plaintxt_16b=line_array[0:32]
plaintext= '24'+'72'+'32'+plaintxt_16b
ser.write (plaintext.encode())
最後のパケットが247232ccddeeff8899aabb4455667700112233
UARTは、Cのコードの次の行を使用してパケットを読み出し:
uint8_t rx_buffer[38];
int rx_length = dev_uart_ptr->uart_read(rx_buffer, 38);
if (rx_length <38)
{
printf(rx_buffer);
}
それがフレームの開始かどうかをテストするために、最初の2つの数字だけを読む必要があります。このように、私は自分のコードを変更しました:
uint8_t rx_buffer[2];
int rx_length = dev_uart_ptr->uart_read(rx_buffer,2);
if (rx_length <2)
{
printf(rx_buffer);
}
問題は、私は24
を読みたいにもかかわらず、あなたは私を助けることができれば、私は非常に感謝される、表示される数字は33
であるということです。
uart_read()関数の機能は何ですか?このタスクを実行するためにインポートするライブラリはどれですか? – Jalo
UARTから読み取ることができます。 – tssmokey46
あなたの投稿は非常に混乱しています。最初はPythonコードだと思っていましたが、それはC/C++コードのようです。あなたはチャンネルの反対側でそれを実行していますか?もしそうなら、あなたはポストのラベルを変更し、C/C++に設定してください。これはPythonの質問ではありません。 – Jalo