rt 例程添加oneshot 配网失败

发布于 2019-09-21 16:16:25

应用w601的rt开发板,用rt的历程28_iot_ota_ymodem添加配网功能.
用env添加了wifi相关的驱动drv_wifi.c,oneshot软件包,lwip软件包,sal软件包,netdev软件包,还有wlan框架相关的.c文件.
经对比,跟rt历程 17_iot_web_config_wifi 配网例程添加的文件一致,
但是我添加了配网功能的28_iot_ota_ymodem例程 执行oneshot_demo udp 运行结果是配网失败image.png

但是例程17_iot_web_config_wifi执行oneshot_demo udp是成功的,image.png

以下是我打开的驱动image.png
一样的配置,我添加的oneshot不成功的原因是什么
主函数没有运行代码
下面是oneshot_demo 的代码
void oneshot_demo(int argc, char *argv[])
{

WM_ONESHOT_MODE mode = WM_UDP;

    /* 配置 wifi 工作模式 */
rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION);

// if (RT_TRUE == rt_wlan_ap_is_active())

  //  rt_wlan_ap_stop();
  rt_thread_mdelay(2000);
if (argc > 2)
{
    rt_kprintf("use: %s [web]", __FUNCTION__);
    return;
}
if (argc == 2)
{
    if (rt_strcmp("web", argv[1]) == 0)
    {
        mode = WM_APWEB;
    }
    else if(rt_strcmp("udp", argv[1]) == 0)
    {
        mode = WM_UDP;
              //    rt_kprintf("udp start...\n");
                 
    }
    else
    {
        rt_kprintf("use: %s [web]", __FUNCTION__);
        return;
    }
}
if (wm_oneshot_start(mode, wm_oneshot_result_cb) == 0)
{
    rt_kprintf("oneshot start...\n");
}
else
{
    rt_kprintf("oneshot start failed\n");
}
if (WM_APWEB == mode)
{
    rt_wlan_start_ap("w600_softap", NULL);
}

}

17_iot_web_config_wifi 例程的这个函数的代码我也是修改成这样运行的

查看更多

关注者
0
被浏览
116
1 个回答
armink
armink 认证专家 2019-09-24
https://github.com/armink

在 ota_http 例程中开启试试呢

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览