Делают ли Keyboard.begin() и Keyboard.end() мой код медленнее?
Я делаю клавиатуру IR Macro, и около 10 % кода посвящено командам Keyboard
, которые должны иметь Keyboard.begin()
и Keyboard.end()
в методе, отвечающем за набор текста, влияет на скорость или размер?
Мой код:
void decodeCode(){ // отправляем макросы.
int pos = 0;
for(int i = 0; i<output.length(); i++){
if(output.charAt(i) == '$' && i!=output.length()-1){ //$ - это символ для "$pecial" символов
i++;
specialDecodeChar(output.charAt(i));
}
else if(output.charAt(i) == '%'){
Keyboard.releaseAll();
}
else{
Keyboard.press(output.charAt(i));
}
}
Keyboard.releaseAll();
}
В настоящее время у меня есть Keyboard.begin()
в setup()
.
@TheNerdLog, 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 0
Функции Keyboard::begin()
и Keyboard::end()
, если вы на самом деле посмотрите на код - это пустые функции. Они ничего не делают.
Теоретически компилятор должен просто оптимизировать их.
,
@Majenko
Смотрите также:
- Keyboard.print() пропускает клавиши
- Нажать клавишу Windows, используя «keyboard.press();»
- Отправка мультимедийных клавиш клавиатуры с помощью библиотеки клавиатур
- Какие диоды использовать в матричном вводе кнопок/клавиш? (Изготовление игровой клавиатуры)
- Ввод текста в ESP8266 с помощью USB-клавиатуры
- Может ли Arduino Leonardo одновременно использовать USB-порт и последовательные контакты RX TX?
- Как преобразовать USB в PS/2?
- Mac не обнаруживает последовательный порт для Леонардо
Весь код влияет на скорость и размер. Нет ничего бесплатного., @Majenko
keyboard.begin(), вероятно, является конструктором, а .end, вероятно, является деструктором. Мы не знаем наверняка, потому что здесь не весь ваш код. Обычно конструктор запускается один раз в течение жизни программы. И, ну, для встраиваемой программы дестуктор иногда просто упускают из виду. Итак, вопрос, на который нужно ответить: зачем вам нужно снова и снова вызывать эти функции?, @st2000
@st2000 Keyboard.begin() и keyboard.end() не являются конструкторами или деструкторами. Это обычные функции, обычно вызываемые из программы настройки или из любого другого места, где вы хотите запустить или остановить функциональность клавиатуры. Однако они оказываются пустыми функциями., @Majenko
Спасибо, что прояснили это, @Majenko., @st2000