如何计算数字? 例如,我向HyperTerminal发送命令,然后它将回复(打印)计数值。
这是第一个例子,
发送命令:UI1-UI10
回复命令:UI1-UI10_in_Hexadecimal:0x3FF
上面的例子,Ui1直到Ui10,它计数,一到十。然后,二进制文件将具有IIIIIIIIII(10位),但在超级终端中将以十六进制回复0x3FF。
第二个例子,
发送命令:UI5-UI7
回复命令:UI5-UI7_in_Hexadecimal:0x3或0x03
Ui5直到Ui7,数到5,直到7。然后,二进制文件将具有III(3位),但在超级终端中将以十六进制回复0x3或0x03。第3个例子,
发送命令:UI5-UI5
回复命令:UI5-UI5_in_Hexadecimal:0x1
Ui5直到Ui5,它只算五个。然后,二进制文件将具有I(1Bit),但在HyperTerminal中将以十六进制回复0x1或0x01。上面的例子可以用Bitwise函数吗?
这里是我的代码:
void decode(unsigned char* msg) {
unsigned char* lala[50];
if (strstr(msg, "UI1-UI10") != NULL)
{
sprintf(lala, "UI1-UI10_in_Hexadecimal:0x3FF");
sendString(lala);
}
else if (strstr(msg, "UI5-UI7") != NULL)
{
sprintf(lala, "UI5-UI7_in_Hexadecimal:0x3");
sendString(lala);
}
else if (strstr(msg, "UI5-UI5") != NULL)
{
sprintf(lala, "UI5-UI5_in_Hexadecimal:0x1");
sendString(lala);
}
}
但是,当send命令不同时,从这段代码中得到了问题。