Keyboard

AndrF

✩✩✩✩✩✩✩
4 Апр 2023
11
1
Просьба помочь. Ниже приведен простейший код для платки Arduino Micro Pro используемой как эмулятор USB клавиатуры.

Все что мне нужно - чтобы он передавал данную строку на компьютер.

Но есть проблема - часть строки, похоже, застревает в буфере... Она потом выталкивается, но это потом...

Соответственно вопрос - как сделать чтобы вывод на комп всегда шел целиком?


C++:
#include "Keyboard.h"
void setup() {
  Keyboard.begin();
}
void loop() {
  delay(10 * 1000);
  Keyboard.println("1213-45566-43434-3445");
}
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,723
481
@AndrF, зачем такой большой дилей? Это блокирующая функция.
 

poty

★★★★★★✩
19 Фев 2020
3,003
898
Не очень понятно, что значит
потом выталкивается, но это потом
Это значит, что программа, которая должна считывать эту строку не успевает её вовремя прочитать. Буфер помогает отсрочить "подачу" строки и это совершенно нормально.
 

AndrF

✩✩✩✩✩✩✩
4 Апр 2023
11
1
Программа - это блокнот Windows 11!

@AndrF, зачем такой большой дилей? Это блокирующая функция.
Чисто для отладки. Впрочем, заметил что в разные окна вывод идет по разному. В Notepad со строками подвисающими в буфере, а в окно самого Arduino, похоже нормально... Не пойму с чем так может быть связано... Впрочем, для моих целей может и будет все работать как надо.
 

poty

★★★★★★✩
19 Фев 2020
3,003
898

@AndrF, и что? Неизвестно железо, наличие ресурсов в данный конкретный момент... Потенциально может быть и проблема Windows 11, особенно если установлена на неподдерживаемое железо.
 

AndrF

✩✩✩✩✩✩✩
4 Апр 2023
11
1
И это сказывается только в данном случае и именно с блокнотом?! Машина в простое . Ресурсов - море!

Впрочем, уже проверил - в тех окнах в которых мне надо вывод работает нормально.