我在尝试将 6 位数字转换为三个十六进制数字时遇到问题 我正在使用 Arduino Nano 我已经做了以下
感谢您阅读本文
编辑:代码,我觉得太可怕了
void splitAndConvert(int bignumber)
{
int ID6;
int ID7;
int ID8;
String FirstPart;
String SecondPart;
String ThirdPart;
String BigNumberHexa = String(bignumber, HEX);
if (BigNumberHexa.length() <= 2) {
FirstPart = "0";
SecondPart = "0";
ThirdPart = BigNumberHexa;
}
else if (BigNumberHexa.length() < 4) {
FirstPart = "0";
SecondPart = BigNumberHexa.substring(0,BigNumberHexa.length() - 2);
ThirdPart = BigNumberHexa.substring(BigNumberHexa.length() - 2,BigNumberHexa.length());
}
else if (BigNumberHexa.length() < 6) {
FirstPart = BigNumberHexa.substring(0,BigNumberHexa.length()-4);
SecondPart = BigNumberHexa.substring(BigNumberHexa.length() - 4,BigNumberHexa.length() - 2);
ThirdPart = BigNumberHexa.substring(BigNumberHexa.length() - 2,BigNumberHexa.length());
}
else {
}
ID6 = ThirdPart.toInt();
ID7 = SecondPart.toInt();
ID8 = ThirdPart.toInt();
unsigned char DataToSend[8] = {0x00, 0x00, 0x00, 0x00, 0x00, ID6, ID7, ID8};
can.sendMsgBuf(0x001, 0, 8, DataToSend);
}