我想将程序存储器中存储的字符串传递给函数,然后将它与最后传递给同一函数的字符串进行比较(这是在Arduino中)。弦的长度可能会有所不同。在函数中,我只想在传递的新字符串与最后一个字符串不相同时才打印。我一直在阅读这篇文章,但完全被难过了。
PSEUDO CODE
Demoprint(F("new command"));
Void Demoprint(...variable or string here. NewText){
If (NewText != oldText) {
Serial.print(NewText);
}
oldText = NewText;
}
}
//or
const PROGMEM char1[] = "This is line 1 of code";
const PROGMEM char2[] = "This is line 2 of text";
Demoprint(char1);
有关方法的任何建议吗?指针*,解除引用,将参数传递给函数等等。这让我很困惑,任何建议都会非常感激。
答案 0 :(得分:0)
所以,你的功能可以看起来像:
void myprint(String s)
{
static String prev_s = "";
if (!prev_s.equals(s))
{
Serial.print(s);
prev_s = s;
}
}
//Testing:
myprint("String 1");
myprint("String 1");
myprint("String 1");
myprint("String 2");
你应该得到结果:
String 1
String 2