From 3d25f444e7e848c6c69175ab6d1e52c459555bc6 Mon Sep 17 00:00:00 2001 From: Zhangwen <13970730+mkc46119@user.noreply.gitee.com> Date: Tue, 4 Mar 2025 18:05:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dstrcmp=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 4 +- source/app/main.c | 3 + source/app/task_w600 copy.c | 3 +- source/app/task_w600.c | 452 ++++++++++++++++++------------------ source/bsp/bsp_WT2605B.c | 9 +- source/clib/clib.c | 6 +- 6 files changed, 248 insertions(+), 229 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 8df605c..2f2dfc6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -42,6 +42,8 @@ "task_keystatus.h": "c", "type.h": "c", "task_smartconfig.h": "c", - "uartx.h": "c" + "uartx.h": "c", + "uart4.h": "c", + "limits": "c" } } \ No newline at end of file diff --git a/source/app/main.c b/source/app/main.c index ac3f92a..06ce11e 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -116,6 +116,9 @@ void main(void) if(1 == s_nos_tick.t1s_heartbeat)//1s { s_nos_tick.t1s_heartbeat = 0;//置0清空 + // L0_uart0_sendstr("_s_task_w600_para.serve_ok = "); + // L0_uart0_uchex(_s_task_w600_para.serve_ok); + // L0_uart0_0d0a(); // D_print_heartbeat() // L0_uart0_uc('.'); // L0_uart0_sendstr("eeprom test :"); diff --git a/source/app/task_w600 copy.c b/source/app/task_w600 copy.c index 2fbd3a0..f07b17e 100644 --- a/source/app/task_w600 copy.c +++ b/source/app/task_w600 copy.c @@ -450,7 +450,8 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) else if(1 == s->serve_ok) //等待 { s->send = 0; - R.app_status = TCP_CONNECTED; + // R.app_status = TCP_CONNECTED; + L0_uart0_sendstr("TCP connected\r\n"); L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE1,D_Tdelay_1s); } else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) diff --git a/source/app/task_w600.c b/source/app/task_w600.c index 4189ebb..0cc8e11 100644 --- a/source/app/task_w600.c +++ b/source/app/task_w600.c @@ -82,6 +82,14 @@ void L3_uart2_wifi_parse(void) { _s_task_w600_para.serve_ok = 1; } + // else if(Lc_strcmp(wifi_tmp,"CONNECT") == 0 ) + // { + // _s_task_w600_para.serve_ok = 1; + // } + // else if(Lc_strcmp(wifi_tmp,"ALREADY CONNECTED") == 0 ) + // { + // _s_task_w600_para.serve_ok = 1; + // } else if(Lc_strcmp(wifi_tmp,">") == 0) { _s_task_w600_para.st_cip_ok = 1; @@ -286,229 +294,229 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) /********************s->mode = W600_AP(按键进入)****************************** */ - TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SERVE) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); //关闭服务器 - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(s->st_error) - { - s->send = 0; - s->st_error = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); - } - else if((s->serve_ok == 1)|| (s->ins_ok == 1)) //等待 - { - s->send = 0; - s->serve_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); - } - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_CIPMODE0) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_ST_CIPMODE0); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待(等待过程中,进入AP模式) - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发(超时,设置单连接模式) - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX0,D_Tdelay_300ms); - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX0) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_ST_CIPMUX0); - s->ins_ok = 0; - s->st_wifi_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_WIFI); - s->ins_ok = 0; - s->st_error = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if((1 == s->ins_ok)||(1 == s->st_error)) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX1) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_CIPMUX1); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_SERVER,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_SERVER) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_SERVER); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_TCP_TIME,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_TCP_TIME) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_TCP_TIME); -// LED2 = 0; - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; - s->ap_tcp_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT,D_Tdelay_300ms); - } - - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT) //等待TCP连接 - if(1 == s->ap_tcp_ok) - { - s->ap_conn_ok = 0; - s->ap_tcp_ok = 0; - s->ap_rec_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT,0); - } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_SERVE) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); //关闭服务器 +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(s->st_error) +// { +// s->send = 0; +// s->st_error = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); +// } +// else if((s->serve_ok == 1)|| (s->ins_ok == 1)) //等待 +// { +// s->send = 0; +// s->serve_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); +// } +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_CIPMODE0) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_ST_CIPMODE0); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待(等待过程中,进入AP模式) +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发(超时,设置单连接模式) +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX0,D_Tdelay_300ms); +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX0) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_ST_CIPMUX0); +// s->ins_ok = 0; +// s->st_wifi_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPMODE0,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_WIFI); +// s->ins_ok = 0; +// s->st_error = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if((1 == s->ins_ok)||(1 == s->st_error)) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_CIPMUX1) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_CIPMUX1); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_SERVER,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_SERVER) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_SERVER); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_TCP_TIME,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_TCP_TIME) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_TCP_TIME); +// // LED2 = 0; +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// s->ap_tcp_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT,D_Tdelay_300ms); +// } + +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_TCP_CONN_WAIT) //等待TCP连接 +// if(1 == s->ap_tcp_ok) +// { +// s->ap_conn_ok = 0; +// s->ap_tcp_ok = 0; +// s->ap_rec_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT,0); +// } - TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT) - if(1 == s->ap_rec_ok)//收到正确的数据才会ok=1 - {//ok回复#ok$\r\n - s->ap_rec_ok = 0; - s->rev = 1; - s->ins_stmp = s_nos_tick.t_1s; - //L0_uart0_sendstr("ap config ok"); - //L3_gm35_send_str(AT_INS_AP_SEND);//进入发送模式 - //L2_task_go(TTSS_TASK_MODE_TRAN); - } - else if(1 == s->ap_conn_ok) - { - s->ap_conn_ok = 0; - s->ap_tcp_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); - } - else if((s_nos_tick.t_1s - s->ins_stmp > 3) && (s->rev == 1)) - {//超时重发 - s->ap_data_ok = 0; - s->rev= 0; - L3_gm35_send_str(AT_INS_AP_SEND); - L2_task_go_Tdelay(TTSS_TASK_MODE_TRAN,D_Tdelay_100ms); - } - TTSS_Task_step(TTSS_TASK_MODE_TRAN) - if(s->send == 0) - {//发送 - L3_gm35_send_str("#OK$\r\n"); -// LED2 = 1; - s->ap_rec_ok = 0; - s->ins_ok = 0; - s->send = 1; - s->ins_stmp = s_nos_tick.t_1s; - } - else if(1 == s->ap_data_ok) //等待//此处进入ins_ok,不进入send_ok,因为之前有一个no change OK,在进入AP关闭服务器那里 - { - s->send = 0; - s->ap_tcp_ok = 0; - L2_task_go_Tdelay(TTSS_TASK_MODE_SERVER_CLOSE,D_Tdelay_100ms); - } - TTSS_Task_step(TTSS_TASK_MODE_SERVER_CLOSE) - if(s->send == 0) - {//发送 - L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); - s->ins_ok = 0; - s->ins_stmp = s_nos_tick.t_1s; - s->send = 1; - } - else if(1 == s->ins_ok) //等待 - { - s->send = 0; -// LED1 = 1; -// LED2 = 1; - L3_task_W600_flow_init(W600_ST); - } - else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) - {//超时重发 - s->send = 0; - } +// TTSS_Task_step(TTSS_TASK_GM35_FLOW_AP_WIFI_DATA_STA_WAIT) +// if(1 == s->ap_rec_ok)//收到正确的数据才会ok=1 +// {//ok回复#ok$\r\n +// s->ap_rec_ok = 0; +// s->rev = 1; +// s->ins_stmp = s_nos_tick.t_1s; +// //L0_uart0_sendstr("ap config ok"); +// //L3_gm35_send_str(AT_INS_AP_SEND);//进入发送模式 +// //L2_task_go(TTSS_TASK_MODE_TRAN); +// } +// else if(1 == s->ap_conn_ok) +// { +// s->ap_conn_ok = 0; +// s->ap_tcp_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_AP_CIPMUX1,D_Tdelay_300ms); +// } +// else if((s_nos_tick.t_1s - s->ins_stmp > 3) && (s->rev == 1)) +// {//超时重发 +// s->ap_data_ok = 0; +// s->rev= 0; +// L3_gm35_send_str(AT_INS_AP_SEND); +// L2_task_go_Tdelay(TTSS_TASK_MODE_TRAN,D_Tdelay_100ms); +// } +// TTSS_Task_step(TTSS_TASK_MODE_TRAN) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str("#OK$\r\n"); +// // LED2 = 1; +// s->ap_rec_ok = 0; +// s->ins_ok = 0; +// s->send = 1; +// s->ins_stmp = s_nos_tick.t_1s; +// } +// else if(1 == s->ap_data_ok) //等待//此处进入ins_ok,不进入send_ok,因为之前有一个no change OK,在进入AP关闭服务器那里 +// { +// s->send = 0; +// s->ap_tcp_ok = 0; +// L2_task_go_Tdelay(TTSS_TASK_MODE_SERVER_CLOSE,D_Tdelay_100ms); +// } +// TTSS_Task_step(TTSS_TASK_MODE_SERVER_CLOSE) +// if(s->send == 0) +// {//发送 +// L3_gm35_send_str(AT_INS_AP_SERVER_CLOSE); +// s->ins_ok = 0; +// s->ins_stmp = s_nos_tick.t_1s; +// s->send = 1; +// } +// else if(1 == s->ins_ok) //等待 +// { +// s->send = 0; +// // LED1 = 1; +// // LED2 = 1; +// L3_task_W600_flow_init(W600_ST); +// } +// else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) +// {//超时重发 +// s->send = 0; +// } TTSS_Task_end(); } diff --git a/source/bsp/bsp_WT2605B.c b/source/bsp/bsp_WT2605B.c index 73413f6..3517c7c 100644 --- a/source/bsp/bsp_WT2605B.c +++ b/source/bsp/bsp_WT2605B.c @@ -24,17 +24,18 @@ void L2_WT2605B_init() { D_stdIO_P0(BITN0); D_stdIO_P0(BITN1); - // 模块电源控制 - D_stdIO_P0(BITN5); + //电源控制引脚 + D_HighI_P0(BITN5); + L2_WT2605B_PWRON(); } void L2_WT2605B_PWRON() { - D_P05_OFF(); + D_P05_ON(); } void L2_WT2605B_PWROFF() { - D_P05_ON(); + D_P05_OFF(); } void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music) diff --git a/source/clib/clib.c b/source/clib/clib.c index 1c0fd66..a7540e6 100644 --- a/source/clib/clib.c +++ b/source/clib/clib.c @@ -17,7 +17,11 @@ U8 Lc_strcmp(U8 *s1,U8 *s2) { - while(*s1 != 0 && *s2 != 0 && *s1++ == *s2++); + while(*s1 != 0 && *s2 != 0 && *s1 == *s2) + { + s1++; + s2++; + } return *s1 - *s2; } U8 Lc_strStartsWith(U8 *s1,U8 *s2)