当前位置: 首页 > wzjs >正文

乐成高端网站建设国外网站问题

乐成高端网站建设,国外网站问题,高端企业网站报价,保定三金网络科技有限公司使用2块ESP32S3模块做EPSNOW收发测试 模块1: ESP32S3R8N8 模块2: 立创开发板实战派( ESP32S3R8N16) 在乐鑫官方例程的基础上进行修改,验证收发 收发公用一套代码,通过调整宏定义来确定收发 代码如下: #in…

使用2块ESP32S3模块做EPSNOW收发测试

模块1: ESP32S3R8N8
模块2: 立创开发板实战派( ESP32S3R8N16)
在乐鑫官方例程的基础上进行修改,验证收发
收发公用一套代码,通过调整宏定义来确定收发
代码如下:

#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <assert.h>
#include "freertos/FreeRTOS.h"
#include "freertos/semphr.h"
#include "freertos/timers.h"
#include "nvs_flash.h"
#include "esp_random.h"
#include "esp_event.h"
#include "esp_netif.h"
#include "esp_wifi.h"
#include "esp_log.h"
#include "esp_mac.h"
#include "esp_now.h"
#include "esp_crc.h"
#include "espnow_example.h"static const char *TAG = "espnow_example";#define ESP32S3R8 1   //recv
#define LICHUANG  0   //sendconst char* buffer = "hello world!";#if ESP32S3R8
const uint8_t my_mac[ESP_NOW_ETH_ALEN]   = { 0x3C, 0x84, 0x27, 0xC1, 0x5D, 0x10 };
const uint8_t dest_mac[ESP_NOW_ETH_ALEN] = { 0xD8, 0x3B, 0xDA, 0x4D, 0x1F, 0xBC };
#endif#if LICHUANG
const uint8_t my_mac[ESP_NOW_ETH_ALEN]     = { 0xD8, 0x3B, 0xDA, 0x4D, 0x1F, 0xBC };
const uint8_t dest_mac[ESP_NOW_ETH_ALEN]   = { 0x3C, 0x84, 0x27, 0xC1, 0x5D, 0x10 };
#endif/* WiFi should start before using ESPNOW */
static void example_wifi_init(void)
{ESP_ERROR_CHECK(esp_netif_init());ESP_ERROR_CHECK(esp_event_loop_create_default());wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();ESP_ERROR_CHECK( esp_wifi_init(&cfg) );ESP_ERROR_CHECK( esp_wifi_set_storage(WIFI_STORAGE_RAM) );ESP_ERROR_CHECK( esp_wifi_set_mode(ESPNOW_WIFI_MODE) );ESP_ERROR_CHECK( esp_wifi_start());ESP_ERROR_CHECK( esp_wifi_set_channel(CONFIG_ESPNOW_CHANNEL, WIFI_SECOND_CHAN_NONE));#if CONFIG_ESPNOW_ENABLE_LONG_RANGEESP_ERROR_CHECK( esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_LR) );
#endif
}/* ESPNOW sending or receiving callback function is called in WiFi task.* Users should not do lengthy operations from this task. Instead, post* necessary data to a queue and handle it from a lower priority task. */
static void example_espnow_send_cb(const uint8_t *mac_addr, esp_now_send_status_t status)
{if (status == ESP_NOW_SEND_SUCCESS) {ESP_LOGI(TAG, "Message sent successfully");} else {ESP_LOGE(TAG, "Message failed to send");}ESP_LOGI(TAG, "Send data to "MACSTR".", MAC2STR(dest_mac));
}static void example_espnow_recv_cb(const esp_now_recv_info_t *recv_info, const uint8_t *data, int len)
{ESP_LOGI(TAG, "Received message from: " MACSTR, MAC2STR(recv_info->src_addr));ESP_LOGI(TAG, "Message: %.*s", len, data);
}static void example_espnow_task(void *pvParameter)
{vTaskDelay(2000 / portTICK_PERIOD_MS);ESP_LOGI(TAG, "Start task");#if ESP32S3R8  while(1){vTaskDelay(2000 / portTICK_PERIOD_MS);}
#endif#if LICHUANGwhile(1){if (esp_now_send(dest_mac, (uint8_t *)buffer, strlen(buffer)) != ESP_OK) {ESP_LOGE(TAG, "Send error");}      vTaskDelay(2000 / portTICK_PERIOD_MS);}#endif
}static void espnow_init(void)
{ESP_ERROR_CHECK( esp_now_init() );ESP_ERROR_CHECK( esp_now_register_send_cb(example_espnow_send_cb) );ESP_ERROR_CHECK( esp_now_register_recv_cb(example_espnow_recv_cb) );ESP_ERROR_CHECK( esp_now_set_pmk((uint8_t *)CONFIG_ESPNOW_PMK) );//判断是否已经配对,没有则直接添加配对。/* If MAC address does not exist in peer list, add it to peer list. */if (esp_now_is_peer_exist(dest_mac) == false) {esp_now_peer_info_t *peer = malloc(sizeof(esp_now_peer_info_t));if (peer == NULL) {ESP_LOGE(TAG, "Malloc peer information fail");}memset(peer, 0, sizeof(esp_now_peer_info_t));peer->channel = CONFIG_ESPNOW_CHANNEL;peer->ifidx = ESPNOW_WIFI_IF;peer->encrypt = true;memcpy(peer->lmk, CONFIG_ESPNOW_LMK, ESP_NOW_KEY_LEN);memcpy(peer->peer_addr, dest_mac, ESP_NOW_ETH_ALEN);ESP_ERROR_CHECK( esp_now_add_peer(peer) );free(peer);}xTaskCreate(example_espnow_task, "example_espnow_task", 4096, NULL, 4, NULL);
}void app_main(void)
{// Initialize NVSesp_err_t ret = nvs_flash_init();if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {ESP_ERROR_CHECK( nvs_flash_erase() );ret = nvs_flash_init();}ESP_ERROR_CHECK( ret );example_wifi_init();espnow_init();
}

接收成功则打印如下:

I (32175) espnow_example: Received message from: d8:3b:da:4d:1f:bc
I (32175) espnow_example: Message: hello world!

文章转载自:

http://JwXxOn4q.knLbg.cn
http://kpiuANtK.knLbg.cn
http://EaUZhOHj.knLbg.cn
http://EkAs8Tv5.knLbg.cn
http://VFq24njW.knLbg.cn
http://NDl92mXv.knLbg.cn
http://g75sPFHb.knLbg.cn
http://170goHFs.knLbg.cn
http://82zVhnrI.knLbg.cn
http://vvcVNeJZ.knLbg.cn
http://kpAtjSDO.knLbg.cn
http://w8uewrQe.knLbg.cn
http://9NnxXYpd.knLbg.cn
http://7qi21p83.knLbg.cn
http://aQf5Nc6X.knLbg.cn
http://KaW6yYcU.knLbg.cn
http://nKFmKUye.knLbg.cn
http://468ZWpFB.knLbg.cn
http://nx5cp830.knLbg.cn
http://ev8biOl7.knLbg.cn
http://Lx7Fey86.knLbg.cn
http://u18SFiNZ.knLbg.cn
http://agcB4VUq.knLbg.cn
http://10PwWJkm.knLbg.cn
http://5hE59LCY.knLbg.cn
http://butTpa3R.knLbg.cn
http://QPf3Bjnq.knLbg.cn
http://iyFqoccf.knLbg.cn
http://DHx4QFC2.knLbg.cn
http://Xmxmsjuy.knLbg.cn
http://www.dtcms.com/wzjs/707762.html

相关文章:

  • 宝安官网网站建设比较好的js网站模板下载
  • 制作网页与网站库存管理软件免费版
  • 企业网站源码哪个最好高校网站建设目的与意义
  • 莱芜住房和城乡建设厅网站福建省住房和建设厅网站
  • 行业网站的特点建立网站的作用
  • 格力空调网站建设策划书徐州企业建站模板
  • 做网站哪家公司比较好手机网站与电脑网站的区别
  • 潍坊品牌网站建设专业企业网站建设定制
  • 欧美网站设计欣赏win7系统做网站服务器
  • 网站开发维护合同样板百度推广获客成本大概多少
  • 自定义网站建设南皮做网站价格
  • 厦门市建设质量安全协会网站网站开发的研究方法
  • 微信视频网站怎么做的好网站开发毕设论文
  • 服务器除了做网站还能做什么湖南有实力seo优化
  • 部队网站建设招标.la域名做的网站
  • 标准网站建设做网站的分辨率
  • 大型网站解决方案设计门户网站平台建设情况
  • 最新聊天记录做图网站购物网站开发
  • 创业中文网站模板上海专业做网站公司报价
  • 建设摩托官方网站网站建设过程规划和准备阶段
  • 建个免费的销售网站好seo 优化是什么
  • 做网站刷流量挣钱吗apmserv搭建多个网站
  • 天津做网站的公做网站开公司
  • 如何建立电商平台seo3
  • 一个专门做酒店招聘的网站三网站建设
  • 用html5做商城网站怎么做公司网站建设优点
  • 评价一个网站设计项目的好坏wordpress安装不了
  • 上海市做网站公司软件定制是什么意思
  • 网站文章可以做外链吗aspmysql做网站
  • ps做网站设计稿网站建站基础