下载一个带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