完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我的代码
#include #include #include "esp_wifi.h" #include "esp_event.h" #include "esp_netif.h" #include "nvs_flash.h" #include "esp_mac.h" #define ESP_WIFI_SSID "12345678" #define ESP_WIFI_PAWD "qwertyui" void wifi_call(void* event_handler_arg, esp_event_base_t event_base, int32_t event_id, void* event_data) { if(event_base == IP_EVENT event_id == IP_EVENT_AP_STAIPASSIGNED) { printf("有设备连接成功!n"); ip_event_ap_staipassigned_t* info = (ip_event_ap_staipassigned_t*)event_data; printf("已连接的STA的IP:"IPSTR"n",IP2STR( info->ip)); printf("已连接的STA的MAC:"MACSTR"n",MAC2STR(info->mac)); } } void app_main(void) { //初始化nvs_flash nvs_flash_init(); //创建一个默认循环事件 esp_event_loop_create_default(); //初始化虚拟网卡 esp_netif_init(); //创建一个AP类型的虚拟网卡 esp_netif_create_default_wifi_ap(); wifi_init_config_t wifi_config = WIFI_INIT_CONFIG_DEFAULT(); esp_wifi_init( wifi_config); esp_wifi_set_mode(WIFI_MODE_AP); wifi_config_t config1 = { .ap = { .ssid = ESP_WIFI_SSID, .ssid_len = strlen(ESP_WIFI_SSID), .channel = 1, .password = ESP_WIFI_PAWD, .authmode = WIFI_AUTH_WPA_WPA2_PSK, } }; esp_wifi_set_config(WIFI_IF_AP, config1); esp_wifi_start(); esp_event_handler_instance_register(IP_EVENT,IP_EVENT_AP_STAIPASSIGNED,wifi_call,NULL,NULL); } 这是我的日志 ESP-ROM:esp8684-api2-20220127 Build:Jan 27 2022 rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fcd5c80,len:0x16c4 load:0x403acb70,len:0x974 load:0x403aeb70,len:0x2980 entry 0x403acb70 I (21) boot: ESP-IDF v5.1.2-dirty 2nd stage bootloader I (21) boot: compile time Jun 11 2024 09:34:50 I (21) boot: chip revision: v1.0 I (24) boot.esp32c2: MMU Page Size : 32K I (29) boot.esp32c2: SPI Speed : 60MHz I (34) boot.esp32c2: SPI Mode : DIO I (39) boot.esp32c2: SPI Flash Size : 2MB I (43) boot: Enabling RNG early entropy source... I (49) boot: Partition Table: I (52) boot: ## Label Usage Type ST Offset Length I (60) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (67) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (75) boot: 2 factory factory app 00 00 00010000 00100000 I (82) boot: End of partition table I (86) esp_image: segment 0: paddr=00010020 vaddr=3c078020 size=1da40h (121408) map I (122) esp_image: segment 1: paddr=0002da68 vaddr=3fcacd80 size=02470h ( 9328) load I (124) esp_image: segment 2: paddr=0002fee0 vaddr=40380000 size=00138h ( 312) load I (128) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=71890h (465040) map I (240) esp_image: segment 4: paddr=000a18b8 vaddr=40380138 size=0cc40h ( 52288) load I (258) boot: Loaded app from partition at offset 0x10000 I (258) boot: Disabling RNG early entropy source... I (269) cpu_start: Unicore app I (269) cpu_start: Pro cpu up. I (278) cpu_start: Pro cpu start user code I (278) cpu_start: cpu freq: 120000000 Hz I (278) cpu_start: Application information: I (281) cpu_start: Project name: main I (286) cpu_start: App version: 1 I (290) cpu_start: Compile time: Jun 11 2024 09:34:43 I (296) cpu_start: ELF file SHA256: 7a4759530f442de2... I (302) cpu_start: ESP-IDF: v5.1.2-dirty I (308) cpu_start: Min chip rev: v1.0 I (312) cpu_start: Max chip rev: v1.99 I (317) cpu_start: Chip rev: v1.0 I (322) heap_init: Initializing. RAM available for dynamic allocation: I (329) heap_init: At 3FCB2F90 len 00029BE0 (166 KiB): D/IRAM I (335) heap_init: At 3FCDCB70 len 0000294C (10 KiB): STACK/DRAM I (343) spi_flash: detected chip: gd I (346) spi_flash: flash io: dio W (350) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header. I (364) sleep: Configure to isolate all GPIO pins in sleep state I (370) sleep: Enable automatic switching of GPIO sleep configuration I (378) app_start: Starting scheduler on CPU0 I (382) main_task: Started on CPU0 I (382) main_task: Calling app_main() I (402) pp: pp rom version: de8c800 I (402) net80211: net80211 rom version: de8c800 I (412) wifi:wifi driver task: 3fcb90e8, prio:23, stack:6144, core=0 I (412) wifi:wifi firmware version: 91b9630 I (412) wifi:wifi certification version: v7.0 I (412) wifi:config NVS flash: enabled I (412) wifi:config nano formating: enabled I (422) wifi:Init data frame dynamic rx buffer num: 32 I (422) wifi:Init static rx mgmt buffer num: 5 I (432) wifi:Init management short buffer num: 32 I (432) wifi:Init dynamic tx buffer num: 32 I (432) wifi:Init static tx FG buffer num: 2 I (442) wifi:Init static rx buffer size: 1600 I (442) wifi:Init static rx buffer num: 10 I (452) wifi:Init dynamic rx buffer num: 32 I (452) wifi_init: rx ba win: 6 I (452) wifi_init: tcpip mbox: 32 I (462) wifi_init: udp mbox: 6 I (462) wifi_init: tcp mbox: 6 I (472) wifi_init: tcp tx win: 5744 I (472) wifi_init: tcp rx win: 5744 I (472) wifi_init: tcp mss: 1440 I (482) wifi_init: WiFi IRAM OP enabled I (482) wifi_init: WiFi RX IRAM OP enabled I (492) phy_init: phy_version 270,39d177a,Oct 13 2023,16:18:10 I (532) wifi:mode : softAP (08:3a:8d:65:51:01) I (532) wifi:Total power save buffer number: 16 I (532) wifi:Init max length of beacon: 752/752 I (532) wifi:Init max length of beacon: 752/752 I (532) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1 I (542) main_task: Returned from app_main() 日志显示ap模式开启成功了 也获取到IP了 但是搜索不到这个Wi-Fi 并且设置为STA模式时也连接不上Wi-Fi 只有使用官方的AT指令才可以连接Wi-Fi以及开启热点 求解答 |
|
相关推荐
1个回答
|
|
根据您提供的代码片段,您正在尝试使用ESP32C2设备创建一个AP(Access Point,接入点)模式的Wi-Fi网络。但是您提到搜索不到这个Wi-Fi。为了解决这个问题,我们可以从以下几个方面进行排查:
1. 确保代码完整:您提供的代码片段不完整,我们需要查看整个代码以确保所有必要的函数和配置都已经正确实现。例如,您需要确保已经初始化了ESP32C2的Wi-Fi功能,设置了AP模式,并配置了SSID和密码。 2. 检查AP模式设置:确保您的代码中已经设置了AP模式。以下是一个示例代码片段,用于设置AP模式并配置SSID和密码: ```c wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); esp_wifi_init(&cfg); esp_wifi_set_storage(WIFI_STORAGE_RAM); esp_wifi_set_mode(WIFI_MODE_AP); esp_wifi_start(); esp_wifi_config_t ap_config = { .ap = { .ssid = ESP_WIFI_SSID, .ssid_len = strlen(ESP_WIFI_SSID), .password = ESP_WIFI_PAWD, .max_connection = 5, .authmode = WIFI_AUTH_WPA2_PSK }, }; esp_wifi_set_config(ESP_IF_WIFI_AP, &ap_config); ``` 3. 检查日志输出:确保您的代码中有日志输出,以便在AP模式启动时能够看到相关信息。例如,您可以在AP模式启动后添加以下日志输出: ```c printf("AP Mode started with SSID: %s and password: %sn", ESP_WIFI_SSID, ESP_WIFI_PAWD); ``` 4. 检查Wi-Fi信号:如果您的设备与其他Wi-Fi设备之间的距离过远,或者有障碍物阻挡,可能会导致搜索不到Wi-Fi信号。请确保您的设备与其他Wi-Fi设备之间的距离适中,并且没有明显的障碍物。 5. 检查其他Wi-Fi设备:如果您的设备与其他Wi-Fi设备存在信道冲突或者信号干扰,可能会导致搜索不到Wi-Fi信号。您可以尝试更改ESP32C2设备的信道设置,以避免信道冲突。 6. 检查ESP32C2硬件:如果以上步骤都无法解决问题,您可能需要检查ESP32C2硬件是否存在问题。您可以尝试使用其他Wi-Fi设备进行测试,以排除硬件故障的可能性。 综上所述,要解决您的问题,您需要确保代码完整、AP模式设置正确、日志输出正常、Wi-Fi信号良好、信道设置合适,并检查硬件是否存在问题。希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 19:20 , Processed in 0.825987 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号