isme
isme - 认证专家
冰镇大西瓜

注册于 4 months ago

回答
87
文章
6
关注者
6

printf(" ---> GetHeap:%d\n",tls_mem_get_avail_heapsize());

检查下你新建的任务有没有加延时函数

while(1)
{
    tls_os_time_delay(HZ/1000)
}

建议用法

// 可以在网络状态回调函数中发送信号量
static void con_net_status_changed_event(u8 status )
{
    switch(status)
    {
    case NETIF_WIFI_JOIN_SUCCESS:
        printf("--->NETIF_WIFI_JOIN_SUCCESS\n");
        break;
    case NETIF_WIFI_JOIN_FAILED:
        printf("--->NETIF_WIFI_JOIN_FAILED\n");
        light_off(&led0);
        break;
    case NETIF_WIFI_DISCONNECTED:
        printf("--->NETIF_WIFI_DISCONNECTED\n");
        break;
    case NETIF_IP_NET_UP:
    {
        struct tls_ethif *tmpethif = tls_netif_get_ethif();
        print_ipaddr(&tmpethif->ip_addr);
#if TLS_CONFIG_IPV6
        print_ipaddr(&tmpethif->ip6_addr[0]);
        print_ipaddr(&tmpethif->ip6_addr[1]);
        print_ipaddr(&tmpethif->ip6_addr[2]);
#endif
    }
    break;
    default:
        //printf("UNKONWN STATE:%d\n", status);
        break;
    }
}

void UserMain(void)
{
    printf("\n user task \n");
    u8 auto_reconnect = 0xff;
    tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_GET, &auto_reconnect);
    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");
    }
    // 注册网络状态回调
    tls_netif_add_status_event(con_net_status_changed_event);

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

airkiss微信已经没有在维护了,配网成功率不高,不建议使用。

不能运行指的是什么意思,建议通过串口0下载fls格式的固件试试。cklink下载的固件不包含secboot,如果芯片空片,没有通过串口烧录过fls固件,这时仅通过cklink烧录固件,是运行不起来的。

WIFI和BLE、BT和BLE可以共存,BT和WIFI不能共存,硬件无法实现。

wakeup不能当gpio口使用的。

没有,不行。可以考虑加个超级电容。

规格书上描述的是芯片电流,开发板上面有CH340,LED等,都是耗电的器件,如果想要测准确的电流,建议把多余外围器件去掉,再进行测试。

目前SDK只适配40MHZ晶体,不支持其他频率晶体。

建议你不用修改代码,用demo只改一个大小端模式,其他都不用修改再测一下,我刚刚试了是没有问题。

发布
问题