我试图在连接到我的粒子光子的OLED板上显示当前时间。
void loop() {
time_t time = Time.now();
Time.format(time, '%Y-%m-%dT%H:%M:%S%z');
displayString(time);
}
int displayString(String text) {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println(text);
display.display();
return 1;
}
我已确认displayString
有效。由于它是一个嵌入式设备,您无法访问常规时间库,但Photon拥有自己的时间库。
https://docs.particle.io/reference/firmware/core/#time
我收到错误Invalid conversion from int to const char*
。
编辑:对于遇到此问题的其他人,我发现虽然没有记录,但如果您没有提供时间,则会使用当前时间,因此您可以这样做:
String time = Time.format("%d/%m/%y %H:%M:%S");
大写String
类型是有意的,请参阅String class。
答案 0 :(得分:1)
这可能是因为在这一行:
Time.format(time, '%Y-%m-%dT%H:%M:%S%z');
您将格式字符串指定为multi-character char
,而不是string
。尝试:
Time.format(time, "%Y-%m-%dT%H:%M:%S%z"); // Note the double quotation marks
有关多字符字符的更多信息,请参阅此处:What do single quotes do in C++ when used on multiple characters?
还要注意你的编译器警告,你应该收到这个:
警告:多字符字符常量
哪会提醒您这个问题。