abcd
abcd - 認證專家
我只是個路過的老年人~

注冊於 2年前

回答
83
文章
8
關注者
2

下載一個帶AT指令的固件,發AT+QMAC=?查一下返回的MAC地址是不是全F,如果也是,那就是MAC地址沒了,wifi mac可以使用AT+&MAC=xxxxxxxxxxxx,自己設置一個,注意mac地址的第一個字節的最低位不能是1。ble mac可以使用AT+&BTMAC=xxxxxxxxxxxx設置。這樣設置完,看是否功能正常。至於mac地址丟了的原因,還需要看具體做了什麼操作。

ble初始化是在這裡,在src/app/bleapp下的wm_bt_app.c裡,參照這個接口寫。

int demo_bt_enable()
{
    int rc;
    uint8_t uart_no = 0xFF;
    tls_appl_trace_level = TLS_BT_LOG_NONE;

    if(bt_adapter_state == WM_BT_STATE_ON) {
        TLS_BT_APPL_TRACE_VERBOSE("bt system enable already");
        return TLS_BT_STATUS_SUCCESS;
    }

    TLS_BT_APPL_TRACE_DEBUG("bt system running, uart_no=%d, log_level=%d\r\n", uart_no,
                            tls_appl_trace_level);
    rc = tls_bt_init(uart_no);

    if((rc != 0) && (rc != BLE_HS_EALREADY)) {
        TLS_BT_APPL_TRACE_ERROR("demo_bt_enable, ret:%s,%d\r\n", tls_bt_rc_2_str(rc), rc);
    }

    return rc;
}

具體是什麼項過不了,詳細描述下,我理解的過認證跟CPU頻率沒關系。

void tls_wifi_get_current_bss(struct tls_curr_bss_t* bss);參數bss的返回結果中有rssi的值。

如果地址不改動的情況下,只有crc位會有可能變動,其他的不會改變的。

參考wm_connect_net_demo.c、wm_http_demo.c、wm_fatfs_demo.c

沒明白問題要表達什麼意思。這只是一個打印格式的不同,%x和%c。

在其他函數中調用mqtt_publish並不會導致程序奔潰,檢查傳的參數是否有效,以及其他可能有問題的地方。

TCP本身沒有重連機制吧,需要在應用層實現,當檢測到連接斷開了,需要close socket,然後重新創建socket,去connect。

PSRAM的內存管理沒有統一到系統的內存管理中,在調用了psram的初始化後,使用中需要自己管理psram的內存,psram內存的起始地址是0x30000000。使用方法是一樣的,都可以用memcpy,memset這些接口。

你的實現邏輯沒有按照I2C的時序來實現。熟悉下I2C的時序,參照demo裡的AT24CXX_ReadOneByte、AT24CXX_WriteOneByte來實現。

W802共有6路硬件串口。沒有模擬方式的參考示例,可以從網上找一些參考代碼來修改。

發布
問題