abcd
abcd - 认证专家
我只是个路过的老年人~

注册于 2 年前

回答
73
文章
6
关注者
1

初始化 IO 后直接调用 tls_spifls_write 和 tls_spifls_read 来读写.

发送完成回调是调用 tls_uart_tx_sent_callback_register 来注册, 只有在发送完 tls_uart_write 设置的长度才会调用发送完成回调, 不会四字节就触发, 除非是只发送了四个字节.
timer 的定时单位只能是 ms 和 us, 没有 ns.

有卖那种 USB 测电流的工具的, 或者最简单的用万用表串到供电线路上.

跟芯片没关系. 需要自己实现 mqtt 连接阿里云的功能.

下载一个带 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 并不会导致程序奔溃, 检查传的参数是否有效, 以及其他可能有问题的地方.

发布
问题