迪文科技论坛

 找回密码
 立即注册
搜索
查看: 208|回复: 6

【提问】请教一下热点扫描的问题

[复制链接]

3

主题

8

回帖

206

积分

中级会员

Rank: 3Rank: 3

积分
206
发表于 2023-7-3 14:05:59 | 显示全部楼层 |阅读模式
我现在已经可以通过wifi模块的scanf功能获得周围热点的列表,我想要做一个和手机差不多的wifi列表的功能,就是列出当前所有热点,然后通过触控点击一下就选择连接这个WiFi然后输入密码。现在的问题是我要如何把存在0x4d0的wifi名称一个一个读出来,这个拆包要怎么拆?如果要做上下滑动的显示要怎么搞?希望有经验的工程师能指点一下。
回复

使用道具 举报

0

主题

764

回帖

4222

积分

论坛元老

Rank: 8Rank: 8

积分
4222
发表于 2023-7-3 16:52:37 | 显示全部楼层
拆包,可以搜索0A的分隔符。滑动显示其它热点不好弄。可以试试做按键。
回复

使用道具 举报

3

主题

8

回帖

206

积分

中级会员

Rank: 3Rank: 3

积分
206
 楼主| 发表于 2023-7-4 09:48:50 | 显示全部楼层
luoyangdwin1 发表于 2023-7-3 16:52
拆包,可以搜索0A的分隔符。滑动显示其它热点不好弄。可以试试做按键。

好的,谢谢你
回复

使用道具 举报

3

主题

8

回帖

206

积分

中级会员

Rank: 3Rank: 3

积分
206
 楼主| 发表于 2023-7-5 09:45:25 | 显示全部楼层
luoyangdwin1 发表于 2023-7-3 16:52
拆包,可以搜索0A的分隔符。滑动显示其它热点不好弄。可以试试做按键。

你好我遇到新问题了
void WIFI_list_process()
{
    u8 sbufdata[100];
       
       
   

    u8 subArray[MAX_SIZE];
        int subArraysCount = 0; // 记录拆包后的数组数量
    int startIndex = 0;
        int subArrayIndex = 0;
        int i,a;       
        int arraySize = 48;
        int j=0;
        u16 addresses[] = {0x4300, 0x4400,0x4500,0x5000,0x5100,0x5200,};
        sys_read_vp(0x4D0,sbufdata,24);
       

   
   

    for ( i = 0; i < arraySize; i++) {
        if (sbufdata == 0x0a) {
            if (subArrayIndex > 0) {
              
                sys_write_vp(addresses[] , subArray, subArrayIndex);
                                j++;
               
                // 清零数组
                for (a = 0; a < subArrayIndex; a++) {
                    subArray[a] = 0;
                }
                subArrayIndex = 0;
            }
        } else {
            subArray[subArrayIndex] = sbufdata;
            subArrayIndex++;
        }
    }

    // 处理最后一个分隔符之后的数据
   if (subArrayIndex > 0) {
        
        sys_write_vp(addresses[subArrayIndex - 1], subArray, subArrayIndex);
    }

   
}
这是我的拆包代码,但是把新的数据写入新的地址的话只有前3个0x4300, 0x4400,0x4500有用,请问能不能看出是什么问题
回复

使用道具 举报

1

主题

11

回帖

708

积分

高级会员

Rank: 4

积分
708
发表于 2023-8-3 16:25:22 | 显示全部楼层
zl04018121 发表于 2023-7-5 09:45
你好我遇到新问题了
void WIFI_list_process()
{

你好,问题解决了吗?
回复

使用道具 举报

3

主题

8

回帖

206

积分

中级会员

Rank: 3Rank: 3

积分
206
 楼主| 发表于 2023-8-15 09:48:37 | 显示全部楼层
JOJO 发表于 2023-8-3 16:25
你好,问题解决了吗?

解决了,通过和迪文厂家的沟通,他们的这个储存空间只有这么大,大概能装3-4个wifi名称,多的话就不记录了,设计的时候也没考虑到有人会用这个功能去做wifi名称列表扫描。如果要做这个功能最好还是用别的wifi模块通过串口直接接收数据,对串口数据进行拆包然后进行显示。
回复

使用道具 举报

2

主题

671

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10324
发表于 2023-8-15 09:51:02 | 显示全部楼层
zl04018121 发表于 2023-8-15 09:48
解决了,通过和迪文厂家的沟通,他们的这个储存空间只有这么大,大概能装3-4个wifi名称,多的话就不记录 ...

十分感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-5-20 16:12 , Processed in 0.081375 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表