你现在的问题是什么呢? 手机端没有打开pan,连接上会立马收到pan 断开。我上面的是如果检测DHCP state 判断是否分配到ip
清cache没实现,在deepseek上回复这样改,你试试看
// 在 lwip/src/core/dns.c 中添加以下函数
/**
* 清除 DNS 表中所有条目
*/
void dns_clear_table(void)
{
int i;
for (i = 0; i < DNS_TABLE_SIZE; i++) {
struct dns_table_entry *entry = &dns_table[i];
if (entry->state == DNS_STATE_DONE) {
// 标记为未使用
entry->state = DNS_STATE_UNUSED;
entry->name[0] = 0;
ip_addr_set_zero(&entry->ipaddr);
entry->ttl = 0;
}
}
}
/**
* 清除特定域名的 DNS 缓存
*/
void dns_remove_from_cache(const char *name)
{
int i;
size_t name_len;
if (name == NULL) {
return;
}
name_len = strlen(name);
if (name_len > DNS_MAX_NAME_LENGTH - 1) {
return;
}
for (i = 0; i < DNS_TABLE_SIZE; i++) {
struct dns_table_entry *entry = &dns_table[i];
if (entry->state == DNS_STATE_DONE &&
strcmp(entry->name, name) == 0) {
// 清除该条目
entry->state = DNS_STATE_UNUSED;
entry->name[0] = 0;
ip_addr_set_zero(&entry->ipaddr);
entry->ttl = 0;
break;
}
}
}
关闭pan之后隔一段时间打开pan的log
你好,使用这个路径 SiFli-SDK\main\example\bt\pan\src 的pan例程,用下面main.c文件替换原来的,log文件也在下面,会同时出现LOG_I("pan connect successed \n");和LOG_I("pan disconnect with remote device\n");打印
main.c (11.5 KB)
pan log.txt (685.5 KB)
你的手机型号?具体是操作手机哪个界面断开盘pan打开pan
华为和小米手机都是一样的




