问题:我是 C++ 新手,在编写了以下代码之后,似乎应该有一种方法可以缩短它。也许通过某种方式匹配字符串?这将如何完成?
该函数message
接受通过串行端口接收的字符串,并pinValues[]
根据message
. 将设置的值由最后一个字符H
或.L
\n
字符串模式:(a number)(H or L)\n
例如:message == "4H\n"
将第 5 个元素设置pinValues[4]
为HIGH
. 字符串开头的数字可以是1 到 2 位数字。
void setPinValues(String message) {
if( message == "1H\n" ) {
pinValues[1] = HIGH;
}
if( message == "1L\n" ) {
pinValues[1] = LOW;
}
if( message == "2H\n" ) {
pinValues[2] = HIGH;
}
if( message == "2L\n" ) {
pinValues[2] = LOW;
}
if( message == "3H\n" ) {
pinValues[3] = HIGH;
}
if( message == "3L\n" ) {
pinValues[3] = LOW;
}
if( message == "4H\n" ) {
pinValues[4] = HIGH;
}
if( message == "4L\n" ) {
pinValues[4] = LOW;
}
if( message == "5H\n" ) {
pinValues[5] = HIGH;
}
if( message == "5L\n" ) {
pinValues[5] = LOW;
}
if( message == "6H\n" ) {
pinValues[6] = HIGH;
}
if( message == "6L\n" ) {
pinValues[6] = LOW;
}
}