wifi信号值偶尔出现跳变

发布于 2022-05-18 08:15:03

获取WiFi信号值,有时候出现信号跳变
QQ图片20220518080729.png
Wifi_Connect(my_ssid, my_password);

struct tls_curr_bss_t rssi_1;
u8 auto_reconnect1 = WIFI_AUTO_CNT_ON;
while(1)
{
    tls_os_time_delay(1 * 250);
    if(tls_wifi_get_state() == 3)
    {
        
        tls_wifi_get_current_bss(&rssi_1);
        printf("DBSignal = %d\n",rssi_1.rssi);
    }
    else
    {
        tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_SET,&auto_reconnect1);
        printf("auto connect\n");
    }
}

查看更多

关注者
0
被浏览
2.2k
2 个回答
大信
大信 认证专家 2022-05-19
硬件开发,软件开发,系统开发,工程架构,方案设计

这个是信号的强度检测,不知你是检测的是什么信号的强度,一般的在 扫描周边AP时,会返回每个AP的信号强度,而且几乎都是 小于0的。
如下图红色部分,就是每个热点的信号强度,数字越小信号越弱 :
w801ss.png

isme
isme 认证专家 2022-05-19
冰镇大西瓜

参考这个demo程序。

/***************************************************************************** 
* 
* File Name : main.c
* 
* Description: main 
* 
* Copyright (c) 2014 Winner Micro Electronic Design Co., Ltd. 
* All rights reserved. 
* 
* Author : dave
* 
* Date : 2014-6-14
*****************************************************************************/ 
#include "wm_include.h"
#include "string.h"

void UserMain(void)
{
    printf("\n user task \n");    
    struct tls_curr_bss_t rssi;
    u8 auto_reconnect = 0xff;
    if(auto_reconnect != WIFI_AUTO_CNT_ON)
    {
        auto_reconnect = WIFI_AUTO_CNT_ON;
        tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_SET, &auto_reconnect); 
        tls_wifi_connect((u8 *)"w600", strlen("w600"), (u8 *)"12345678", strlen("12345678"));
        printf("--->WIFI_AUTO_CNT_FLAG_SET ON\n");
    }
    
    while(1)
    {
        tls_os_time_delay(HZ*1); 
        tls_wifi_get_current_bss(&rssi);
        printf("--->rssi = -%d\n",rssi.rssi);
    }

#if DEMO_CONSOLE
    CreateDemoTask();
#endif
//用户自己的task
}

image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览