Когда я поставил "с" внутри setColor(c);
слишком мало аргументов, чтобы функционировать Пустота SetColor (интермедиат, Int, Int) '
он говорит мне:
error: too few arguments to function 'void setColor(int, int, int)'
.
Я понимаю, что я должен поставить 3 аргумента. Я не понимаю, что сериал правильно отображает 3 аргумента (255, 000, 000), так почему он продолжает сообщать мне об этой ошибке. Что я делаю не так ?
int rPin = 11;
int gPin = 9;
int bPin = 10;
void setup() {
Serial.begin(9600);
pinMode(rPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(bPin, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
delay(100);
while (Serial.available() > 0) {
char c = Serial.read(); // serial will display an rgb code, for exemple: 255, 000, 000 (red color)
setColor(c);
}
}
}
void setColor(int red, int green, int blue) {
analogWrite(rPin, red);
analogWrite(gPin, green);
analogWrite(bPin, blue);
}
Я не код на C, но вы получите строку/список, и вам придется передавать аргументы по одному. –
В случае, если вы получаете список, выполните 'setColor (c [0], c [1], c [2])' или однако правильный синтаксис равен –
. Если вы получите строку, вам придется разделить строку в список с функцией, а затем передать аргументы один за другим. –