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;
}

發布
問題