fix: tcp_json_srv_init 加一次性守卫 + callback NULL 诊断
问题: NET_SSC_ENABLE 时 g_net_state.flag 保持 1, net_srv_init 反复调用
tcp_json_srv_init 第二次因 socket 已存在失败 → 过早 return
→ lup_set_sensor_callback 未执行 → 0xC0 回调永远 NULL
修复:
- tcp_json_srv_init: 加 static _init_done 守卫,防止重复执行
- lup_set_sensor_callback: 打印注册/清除日志
- lup_process_frame: 回调为 NULL 时打印诊断信息
This commit is contained in:
@@ -787,6 +787,10 @@ static void json_sensor_callback(const uint8_t *pkg, uint16_t len)
|
||||
void tcp_json_srv_init(void) {
|
||||
uint8_t ret;
|
||||
SOCK_INF sock_inf;
|
||||
static uint8_t _init_done = 0;
|
||||
|
||||
if (_init_done) return; // 防止 net_srv_init 反复调用
|
||||
_init_done = 1;
|
||||
|
||||
memset(&sock_inf, 0, sizeof(SOCK_INF));
|
||||
sock_inf.SourPort = TCP_JSON_PORT;
|
||||
|
||||
Reference in New Issue
Block a user