我有 2 个 esp-01 模块。其中一个运行STA
tiONAP模式,并充当运行在STATION模式的另一个esp模块的tcp服务器。数据传输工作正常,但回调函数未正确执行。
法典:
void ICACHE_FLASH_ATTR tcp_connect_sap_cb(void *arg){
结构体 espconn *conn_sap = (结构体 espconn *)arg;这没有被执行
espconn_regist_recvcb(conn_sap、recv_sap_cb);正在工作
send_msg("'connect cb' SAP TCP CONNECTEDn"); // THIS IS NOT BEING EXECUTED
}
本地空隙 ICACHE_FLASH_ATTR tcp_init_sap(){
tcp_proto_sap.local_port = 2233;
tcp_conn_sap.类型=ESPCONN_TCP;
tcp_conn_sap.状态 = ESPCONN_NONE;
tcp_conn_sap.proto.tcp = &tcp_proto_sap;
espconn_regist_connectcb(&tcp_conn_sap, tcp_connect_sap_cb);
sint8 sap_conn_accept = espconn_accept(&tcp_conn_sap);
if(sap_conn_accept != 0){
os_printf("SAP TCP CONN ACCEPT ERROR: %dn",sap_conn_accept);
}else{
os_printf("SAP TCP DONE");
}
sint8 max_conn = espconn_tcp_set_max_con_allow(&tcp_conn_sap,5);
if(max_conn != 0){
os_printf("Set max conn error: %dn",max_conn);
}
espconn_regist_time(&tcp_conn_sap,7200,0);
}
void user_init(void){
uart_init(BIT_RATE_19200、BIT_RATE_19200);
wifi_init();
espconn_init();
}
接收回调已注册,但未执行os_printf语句。