1

有没有办法在 NXTscreen 上显示字节数组(使用 NXC)?

我试过这样:

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

但它给了我一个File Error! -1.

如果这是不可能的,我怎么能Data[0]在程序期间观看 的价值?

4

2 回答 2

1

如果要以十六进制格式显示字节数组,可以这样做:

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);

如果您只想显示一个字符:

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

试试bytebyteunsigned charNXC中的一个。

PS BricxCC 中有一个开发中的调试器(我假设你在 Windows 上)。看这里

编辑:代码编译并运行,但不做任何事情。

于 2011-09-11T08:11:37.573 回答