|
|
代码如下
- void intToBytes(int value,byte (&src)[4])
- {
- src[0] = (byte) ((value>>24) & 0xFF);
- src[1] = (byte) ((value>>16)& 0xFF);
- src[2] = (byte) ((value>>8)&0xFF);
- src[3] = (byte) (value & 0xFF);
- }
- int bytesToInt(byte src[], int offset) {
- int value;
- value = (int) ( ((src[offset] & 0xFF)<<24)
- |((src[offset+1] & 0xFF)<<16)
- |((src[offset+2] & 0xFF)<<8)
- |(src[offset+3] & 0xFF));
- return value;
- }
- byte group = 1;
- byte member = 10;
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(115200);
- byte b[4] = {group,member,255,26};
- int t = bytesToInt(b,0);
- Serial.println(t);
- byte src[4];
- intToBytes(t,src);
- Serial.println((int)src[1]);
- }
- void loop() {
- delay(1000);
- }
复制代码
这个代码写到nodemcu计算结果正确的
但是写道uno r3 或者nano这样的芯片上结果貌似溢出了,变量t变成了-230了,不知道哪里出了问题~~~~~ |
|