测试程序:
UINT8 test0=0X5F;
UINT16 test1=0X5F;
printf("DEBUG:%02X %02X %02X %02X %02X", test0, test1, 0X5F&0X07, test0&0x07, test1&0x07);
串口打印结果:
[22:36:39.658]收←◆DEBUG:5F00 5F07 700 7C9 2048
两个变量都改成UINT8的结果:
[22:41:16.502]收←◆DEBUG:5F5F 707 708 9A51 C920
两个变量都改成UINT16的结果:
[22:40:20.898]收←◆DEBUG:5F 5F 700 700 783
单片机是51内核的,其它地方也经常遇到赋值错误的奇怪BUG,不知道是不是开发平台有问题,有一些设置为UINT16就没BUG,改成UINT8就有
|