В Keyboard.println отсутствуют символы при печати длинных строк

Тема довольно проста: когда я использую Keyboard.println(), он отлично отправляет короткие (до 30 символов), но когда я получаю около 100 символов, появляются отсутствуют случайные символы. «Случайный» — это означает, что это происходит не всегда, хотя в некоторой степени постоянно отсутствуют одни и те же символы.

Я проверил, данные поступают на Arduino правильно (через веб-сервис), но как только они снова отображаются в блокноте, в них отсутствуют случайные данные.

Есть мысли или предложения?

Изменить: примеры по запросу:
Я отправляю...

чит SpawnDino Blueprint'/Game/PrimalEarth/Dinos/Pelagornis/PelaCharacter_BP.Pela_Character_BP' 10 1 1 10

А что такое печать...

чит SpawnDino Blueprint'/Game/PRIMALEarth/Dinos/Pelgornis/PelaCharacter_BP.Pela_Character_bP' 10 1 1 10

Теперь я заметил, что капитализация тоже меняется: BP на bP, а Primal на PRIMAL.

, 👍0

Обсуждение

Не могли бы вы привести примеры сравнения поступающих данных и вывода println?, @Greenonline

Не знаю, почему это происходит, но вы, вероятно, можете избежать этого, отправляя за раз только меньшее количество символов, а затем добавляя небольшую задержку между ними., @Gerben

Да, спасибо за предложение. Я уже пробовал это, и это тоже странно. Ничего не отправляю, когда вставляю клавиатуру. Что-нибудь внутри цикла for, независимо от того, какое значение установлено для ожидания. Вернемся к работе :) спасибо., @xTakk

Не могли бы вы предоставить свой код?, @sa_leinad


1 ответ


1

Думаю, проблема в переполнении буфера клавиатуры устройства, с которым вы разговариваете. В Windows вы можете изменить значение реестра, чтобы увеличить размер буфера:

http://www.windowsnetworking.com/kbase/WindowsTips/WindowsNT/RegistryTips /Hardware/KeyboardBufferSize.html

(на самом деле буфер клавиатуры Windows по умолчанию составляет 100 символов.)

Причина, по которой использование заглавных букв становится странной, заключается в том, что устройство пропустило событие переключения вниз или вверх, поэтому оно использует то, что использовало бы, если бы клавиша Shift не была нажата или отпущена.

Лучшее решение — избегать отправки большого количества писем: разбейте их и отправляйте понемногу, как сказал Гербен.

,

У меня только что появилась еще одна идея, как это сделать, а не посимвольно, раз уж вы это сказали.. Попробую, большое спасибо., @xTakk