私は現在MSP430へのPCのためのコマンドがUARTを通して伝えられるプロジェクトに取り組んでいます。これらのコマンドは、SPIバスに書き込めるようにバイナリに変換する必要があります。
たとえば、PCからの 'a'はマイクロコントローラの0x61に変換されます。本当に必要なのは16進数 'a'です
PCからのASCII文字 'a' = 0x61 => 16進数0x0Aを変換する必要があります
質問 : ASCIIをバイナリに変換する最も簡単な方法は何ですか?私は "C"を使っています。
ASCIIコードは単なる数字です。 SPI接続用のプロトコルを定義しているのであれば、ブリッジにUSARTからSPIポートへのデータを単にエコーさせるのではないでしょうか。
—
Niall C.
私はあなたの質問を真剣に受け止めません。 ASCII文字はたった1バイトです - あなたは単にTXバッファ/ラインにこのバイトを置くことができます。どうしたの?またはあなたが提供しなかった詳細がありますか?
それで、あなたは16進数字 '0'、 '1' ... 'a' ... 'f'を表す文字をその数字の値(0x00、0x01 ... 0x0A ... 0x0F)に変換したいですか?
—
Niall C.
何が問題なのかはっきりしませんが、バイナリデータがASCIIの16進数として送信されるプロトコルのようなものを推測しますか?例えば値255のバイトはASCII "FF"として送信されるので(10進数)46、46はワイヤ上を移動しますか?詳細が必要です。