1.
在32位MCU上定义64位变量:
unsigned long long time_base;
unsigned long long temp_time;
2.
调用打印函数:
printf("RFID:time_base:%d\r\n",time_base);
printf("RFID:temp_time:%d\r\n",temp_time);
printf("RFID:Run time:%dms\r\n",time_base - temp_time);
显示异常
3.
改用16进制打印显示:
printf("RFID:time_base:0x%x\r\n",time_base);
printf("RFID:temp_time:0x%x\r\n",temp_time);
printf("RFID:Run time:0x%xms\r\n",time_base - temp_time);
也打印显示异常:
4.
在32位MCU上打印64位变量,需要用ll进行修饰:
4.1
代码:
printf("RFID:time_base:%lld\r\n",time_base);
printf("RFID:temp_time:%lld\r\n",temp_time);
printf("RFID:Run time:%lldms\r\n",time_base - temp_time);
打印显示正确:
4.2
代码文章来源:https://uudwc.com/A/xG5qk
printf("RFID:time_base:0x%llx\r\n",time_base);
printf("RFID:temp_time:0x%llx\r\n",temp_time);
printf("RFID:Run time:0x%llxms\r\n",time_base - temp_time);
打印显示正确:
文章来源地址https://uudwc.com/A/xG5qk