下载一个带 AT 指令的固件, 发 AT+QMAC=? 查一下返回的 MAC 地址是不是全 F, 如果也是, 那就是 MAC 地址没了, wifi mac 可以使用 AT+&MAC=xxxxxxxxxxxx, 自己设置一个, 注意 mac 地址的第一个字节的最低位不能是 1. ble mac 可以使用 AT+&BTMAC=xxxxxxxxxxxx 设置. 这样设置完, 看是否功能正常. 至于 mac 地址丢了的原因, 还需要看具体做了什么操作.
下载一个带 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 频率没关系.
tls_spi_init () ; 这行代码去掉
内存不够了.
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 这些接口.
w800 做主还是做从?
你的实现逻辑没有按照 I2C 的时序来实现. 熟悉下 I2C 的时序, 参照 demo 里的 AT24CXX_ReadOneByte, AT24CXX_WriteOneByte 来实现.
W802 共有 6 路硬件串口. 没有模拟方式的参考示例, 可以从网上找一些参考代码来修改.
问 W80X MAC 变成 FFFFFFFFFFFF