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
被浏览
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

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览