Signed-off-by: myperworld <myperworld@126.com>

This commit is contained in:
myperworld committed 2025-10-06 12:34:26 +08:00
1 parent 0986832fd1
commit aacd052c06
3403 files changed
+597376 -12

No files matched your search

@@ -0,0 +1,77 @@
#include <esp_now.h>
#include <WiFi.h>
#include "esp_wifi.h"
#include "main.h"
typedef struct {
// 4个摇杆轴(模拟值:0-4095)
int joyLeftX;
int joyLeftY;
int joyRightX;
int joyRightY;
// 12个按键(布尔值:1=按下,0=未按下)
bool btnJoyLeft;
bool btnJoyRight;
bool btnStart;
bool btnBack;
bool btnUp;
bool btnDown;
bool btnLeft;
bool btnRight;
bool btnA;
bool btnB;
bool btnX;
bool btnY;
} JoystickData;
JoystickData remoteData;
// ESP-NOW接收回调函数
void OnDataRecv(const uint8_t *mac, const uint8_t *incomingData, int len) {
memcpy(&remoteData, incomingData, sizeof(remoteData));
Serial.print("Received data:");
Serial.print(",joyLeftX: " + String(remoteData.joyLeftX));
Serial.print(",joyLeftY: " + String(remoteData.joyLeftY));
Serial.print(",joyRightX: " + String(remoteData.joyRightX));
Serial.print(",joyRightY: " + String(remoteData.joyRightY));
Serial.print(",btnJoyLeft: " + String(remoteData.btnJoyLeft));
Serial.print(",btnJoyRight: " + String(remoteData.btnJoyRight));
Serial.print(",btnStart: " + String(remoteData.btnStart));
Serial.print(",btnBack: " + String(remoteData.btnBack));
Serial.print(",btnUp: " + String(remoteData.btnUp));
Serial.print(",btnDown: " + String(remoteData.btnDown));
Serial.print(",btnLeft: " + String(remoteData.btnLeft));
Serial.print(",btnRight: " + String(remoteData.btnRight));
Serial.print(",btnA: " + String(remoteData.btnA));
Serial.print(",btnB: " + String(remoteData.btnB));
Serial.print(",btnX: " + String(remoteData.btnX));
Serial.println(",btnY: " + String(remoteData.btnY));
}
void setup()
{
Serial.begin(115200); // 通讯串口
// 设置WiFi模式
WiFi.mode(WIFI_STA); // 设置为STA模式
// 明确设置WiFi信道为6
esp_wifi_set_channel(6, WIFI_SECOND_CHAN_NONE);
// 初始化ESP-NOW
if (esp_now_init() != ESP_OK) {
Serial.println("ESP-NOW初始化失败");
return;
}
// 注册接收回调函数
esp_now_register_recv_cb(OnDataRecv);
}
void loop()
{
}