ZYQ
ZYQ
我已不再支持W80X任何相关问题的回复,请大家不要私信,有问题找 isme 谢谢

注册于 2年前

回答
172
文章
8
关注者
11

有可能卡在初始化了哦,W800上有些功能W806是没有呢

Server警告
WARNING: Address 0x08011c28 can't be written when insert soft-bkpt.
这个只是告诉你不能下软断点,因为断点分为两种一种是硬断点,一种是软断点,软断点一般针对程序所有部分均在RAM中,但是W800 系列的固件太大RAM 不能够存储的下,因此会将程序的部分放在FLASH 中,故此时不能下载软断点,你应该改成硬断点就不会出现这个警告情况了。

另外关于去除 TRST使能可以仿真的话,我猜测有可能W806 复位重启之后所需电流比较大,导致Cklink 不能正常工作

设置固定IP的话,把DHCP关闭,之后手动写上将要设置的IP地址即可,以官方demo 为例 在函数 demo_connect_net 中 ,修改如下

    ip_param = tls_mem_alloc(sizeof(struct tls_param_ip));
    if (ip_param)
    {
        ip4_addr_t loop_ipaddr, loop_netmask, loop_gw;
        tls_param_get(TLS_PARAM_ID_IP, ip_param, FALSE);
        ip_param->dhcp_enable = FALSE;
        IP4_ADDR(&loop_gw, 192,168,0,1);
        IP4_ADDR(&loop_ipaddr, 192,168,0,116);
        IP4_ADDR(&loop_netmask, 255,255,255,0);

        memcpy(ip_param->ip , &loop_ipaddr ,sizeof(loop_ipaddr));
        memcpy(ip_param->netmask , &loop_netmask ,sizeof(loop_netmask));
        memcpy(ip_param->gateway , &loop_gw ,sizeof(loop_gw));
        tls_param_set(TLS_PARAM_ID_IP, ip_param, FALSE);
        tls_mem_free(ip_param);
    }

image.png
这样的话 再次连接路由的话 就是你设定的IP地址了

你把错误信息截图发出来,我帮你看下另外确认你的工程没有问题

我从你这看出 你的第二个参数传错了,第二个参数是传入的应该是个指针

你可以研究下 tools/w800目录下的wm_tool.c文件,这个就是fls文件生成的流程

工程文件在 WM_SDK_W806toolsW806projectsSDK_ProjectprojectCDK_WS

你这个问题感觉问的不明白啊,你自己写代码的时候,printf 前后用 自己定义的宏控制一下不就好了,例如这样

#ifdef  DEBUG_PRINT
    printf("demo test \r\n");
#endif

或者找到 libc_port.c 找到里面的 fputc 函数,把里面的发送字符函数屏蔽了这都是可以的

int fputc(int ch, FILE *stream)
{
    (void)stream;
#if USE_UART0_PRINT
    sendchar(ch);
#else
    sendchar1(ch);
#endif

    return 0;
}

发布
问题