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 路硬件串口. 没有模拟方式的参考示例, 可以从网上找一些参考代码来修改.

发布
问题