2016-10-15 4 views
0

埋め込みCを使用して特定のエスケープシーケンスを送信する際に助けが必要です。 これは私の最初の話です。埋め込みCコードを使用してUART経由でエスケープシーケンスを送信する方法

私はUARTを介してコマンドを書き込むために、この関数を使用します。、入力、チャネル、データおよび長

void UART_Write(UARTChannel* channel, uint8_t* data, uint32_t length) 

それぞれ、UARTチャネル、送信すべきコマンドやコマンドの長さに対応します。 これは一般的に素晴らしいです!エスケープ文字(として0x1B)、R0

EscR0,1,2,7; 

Esc

しかし、私はUART_Write機能を使用して、次のエスケープシーケンスを記述する必要がC.で正しいエスケープシーケンスを生成する際にいくつかの困難を持っています文脈指定子である1,2,7であり、;は終了記号である。

関数 "UART_Write"の入力 "データ"をエスケープシーケンスEscR0,1,2,7と等しくするにはどうしたらいいですか?組み込みC?

私はそれがいろいろなやり方でできると思いますが、どんな提案もします。

答えて

0

「esc」を送信したいのですか、または「1b」を16進値として送信しますか?

はちょうどちょうどあなたのように、文字を送信し、他の文字列例えば例えば

EscR0,1,2,7;は:

char buffer[20] = {'\0'}; 
buffer[0] = 0x1b; 
strcat(buffer, "R0,1,2,6;"); 
.... 
+0

それは動作します - ありがとう! –

関連する問題