Arduino 中的 Serial.print uint64_t

吳偲華*_*吳偲華 6 c++ arduino-uno

我使用Arduino UNO(Arduino 1.8.3)。

这是我的代码:

void setup() { 
    Serial.begin(115200);
}
void loop() { 
    uint64_t num = 9223372036854775807; 
    Serial.print(num); 
    delay(1000);
}
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

退出状态1

重载“print(uint64_t&)”的调用不明确

我该如何解决这个错误?

小智 3

我就是这样做的。这很混乱,但它完成了工作。

串行控制台的输出:9223372036854775807

void print_uint64_t(uint64_t num) {

  char rev[128]; 
  char *p = rev+1;

  while (num > 0) {
    *p++ = '0' + ( num % 10);
    num/= 10;
  }
  p--;
  /*Print the number which is now in reverse*/
  while (p > rev) {
    Serial.print(*p--);
  }
}
Run Code Online (Sandbox Code Playgroud)