应用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 运行结果是配网失败
但是例程17_iot_web_config_wifi执行oneshot_demo udp是成功的,
以下是我打开的驱动
一样的配置,我添加的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 例程的这个函数的代码我也是修改成这样运行的