1

(NXC を使用して) NXTscreen にバイト配列を表示する方法はありますか?

私はこのように試しました:

unsigned char Data[];
string Result = ByteArrayToStr(Data[0]);
TextOut(0, 0, Result);

しかし、それは私にFile Error! -1.

Data[0]これが不可能な場合、プログラム中にの値を確認するにはどうすればよいですか?

4

2 に答える 2

1

バイト配列を 16 進形式で表示する場合は、次のようにします。

byte buf[];
unsigned int buf_len = ArrayLen(buf);

string szOut = "";
string szTmp = "00";

// Convert to hexadecimal string.
for(unsigned int i = 0; i < buf_len; ++i)
{
    sprintf(szTmp, "%02X", buf[i]);

    szOut += szTmp;
}

// Display on screen.
WordWrapOut(szOut,
            0, 63,
            NULL, WORD_WRAP_WRAP_BY_CHAR,
            DRAW_OPT_CLEAR_WHOLE_SCREEN);

WordWrapOut()ここで見つけることができます。


単純にASCIIに変換したい場合:

unsigned char Data[];
string Result = ByteArrayToStr(Data);
TextOut(0, 0, Result);

1文字だけ表示したい場合:

unsigned char Data[];
string Result = FlattenVar(Data[0]);
TextOut(0, 0, Result);
于 2011-09-11T08:38:35.000 に答える
0

試してみてくださいbytebyteunsigned charNXC の 1 つです。

PS BricxCCには開発中のデバッガーがあります(Windowsを使用していると思います)。ここを見てください。

編集:コードはコンパイルおよび実行されますが、何もしません。

于 2011-09-11T08:11:37.573 に答える