你需要在loop函数之前添加bleKeyboard.poll()来检查BLE连接状态和接收输入。例如:

void loop() { bleKeyboard.poll();

// Check if K1 is pressed if (!digitalRead(K1_PIN)) { Serial.println("K1 pressed"); char keys[8] = {0, 4, 0, 0, 0, 0, 0, 0}; // "a" key bleKeyboard.send2Ble(keys); delay(100); // debounce delay }

// Check if K2 is pressed if (!digitalRead(K2_PIN)) { Serial.println("K2 pressed"); char keys[8] = {0, 5, 0, 0, 0, 0, 0, 0}; // "B" key bleKeyboard.send2Ble(keys); delay(100); // debounce delay }

// Check if K3 is pressed if (!digitalRead(K3_PIN)) { Serial.println("K3 pressed"); char keys[2] = {0xE2, 0x00}; // Mute key bleKeyboard.sendMedia2Ble(keys); delay(100); // debounce delay } }

此外,确保你的电路连接正确,例如按钮的引脚是否正确连接。如果你仍然无法看到任何输入,请在BLECallBack类的onWrite函数中添加输出语句,以确保你的BLE连接已成功

这个是我根据上面的库写的代码为什么按下按键没有输入呢#include Hid2Bleh#define K1_PIN 7#define K2_PIN 8#define K3_PIN 10Hid2Ble bleKeyboardMyKeyboard MyManufacturer 100;void setup pinModeK1_PIN INPUT_PULLUP; pinModeK2_PIN INPU

原文地址: http://www.cveoy.top/t/topic/djuw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录