Переключить чехол, возврат, возврат не печатается
arduino-mega
keypad
Я пытаюсь получить значение нажатой клавиши и настроить его так, чтобы оно возвращало значение для использования в цикле. В приведенном ниже коде Print(t) ничего не показывает
#include <Keypad.h>
const byte ROWS = 4; //четыре строки
const byte COLS = 4; //четыре столбца
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[ROWS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,COLS;
void setup() {
Serial.begin(9600);
}
void loop()
{
int t;
switch (customKeypad.getKey())
{
case 'A':
t = 8;
break;
case '2':
t = 9;
break;
}
return t;
Serial.print(t);
}
@Subash, 👍0
Обсуждение1 ответ
▲ 3
Вы неправильно понимаете использование return. Функция цикла объявляется недействительной. Это означает, что он ничего не возвращает. Если вы просто полностью удалите этот оператор возврата, ваш код будет делать то, что вы хотите.
Возврат останавливает цикл. Он отбрасывает значение, поскольку цикл определен как возвращающий void, а выполнение кода никогда не достигает оператора печати. Писать что-либо в функции после оператора return бесполезно.
,
@Delta_G
Смотрите также:
- Моя программа использует слишком много памяти
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
Покажите пожалуйста вашу проводку, @chrisl