完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我用 ESPNOW 协议配置了 2 个 ESP-12E 卡。
我的第一次尝试是成功的。但不知何故,我现在遇到了消息传递问题。 当我插入发送板时:发送成功 当我按下发送板上的重置按钮时:发送失败 为什么现在我的重置按钮出现故障? 代码:全选#include // Set your Board ID (ESP8266 Sender #1 = BOARD_ID 1, ESP8266 Sender #2 = BOARD_ID 2, etc) #define BOARD_ID 1 //MAC Address of the receiver -- ESP-12E uint8_t broadcastAddress[] = {0x99, 0x99, 0x99, 0x99, 0x99, 0x99}; //Structure example to send data //Must match the receiver structure typedef struct struct_message { int topic; char payload[2]; } struct_message; //Create a struct_message called myData struct_message myData; // Callback when data is sent void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) { Serial.print("Last Packet Send Status: "); if (sendStatus == 0){ Serial.println("Delivery success\n"); } else{ Serial.println("Delivery fail\n" + String(sendStatus)); } } void setup() { //Init Serial Monitor Serial.begin(9600); delay(10); // Init ESP-NOW if (esp_now_init() != 0) { Serial.println("Error initializing ESP-NOW"); return; } // Once ESPNow is successfully Init, we will register for Send CB to // get the status of Trasnmitted packet esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER); // Once ESPNow is successfully Init, we will register for Send CB to // get the status of Trasnmitted packet esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER); esp_now_register_send_cb(OnDataSent); //Préparer les données à transmettre myData.topic = BOARD_ID; strcpy(myData.payload, "&1"); Serial.println("\nMyData : " ); Serial.println(*((uint8_t *) &myData.topic)); Serial.println(*((uint8_t *) &myData.payload)); Serial.println("\n"); //Send data esp_now_send(broadcastAddress, (uint8_t *) &myData, sizeof(myData)); } void loop() { } 代码:全选#include #include // Structure example to receive data // Must match the sender structure typedef struct struct_message { int topic; char payload[2]; } struct_message; struct_message incomingReadings; // callback function that will be executed when data is received void OnDataRecv(uint8_t * mac_addr, uint8_t *incomingData, uint8_t len) { // send the received data to the Raspberry Pi // copier les résultats en mémoire memcpy(&incomingReadings, incomingData, sizeof(incomingReadings)); //cout< |
|
相关推荐
1个回答
|
|
|
很难确定故障的原因,因为你没有给出任何错误信息或日志。但是,以下是一些可能的原因:
1.重置按钮可能已经损坏或失效,需要更换。 2.重置按钮可能没有正确地连接到ESP-12E卡上,需要检查连接。 3.重置按钮可能造成电子干扰,导致ESP-12E卡在按下按钮时出现错误,需要重新安排电线和元件。 4.发送板上的其他元件可能导致ESP-12E卡出现错误,需要检查和排除故障。 5.代码可能存在问题,需要仔细检查和调试。 请注意,在未发生错误的情况下,重置按钮可能会在发送消息时干扰协议的操作。建议在测试消息传递时不要使用重置按钮,以避免干扰。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1252浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2336浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:17 , Processed in 0.578637 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
482
