2013-02-21 60 views
0

我想为Arduino项目使用Serial.print()。具体的问题是,我想打印由斜线这样隔开的两个数字:如何使用Arduino的串行打印

56/345

我能做

int x = 56; 
int y = 345; 
Serial.print(x); 
Serial.print("/"); 
Serial.print(y); 

我能避免第二个串行打印或只给出了一个串口打印? 该API不使用printf()

回答

2

你可以做一个sprintf()到一个临时字符串,然后Serial.print()是:

char tmp[32]; 
sprintf(tmp, "%d/%d", x, y); 
Serial.print(tmp); 
+1

正如顺便说一句,这是值得也在考虑这对性能的影响。 sprintf是*慢*。如果您的代码对性能至关重要,那么手动打印每个部分几乎肯定会更快(并且使用更少的内存)。 – slugonamission 2013-02-21 18:06:36