From 66ece2a061b1dbbceb7b04a1e81150501cd312c6 Mon Sep 17 00:00:00 2001 From: Zhangwen <13970730+mkc46119@user.noreply.gitee.com> Date: Wed, 5 Mar 2025 18:18:42 +0800 Subject: [PATCH] =?UTF-8?q?feature:=201.WIFI=E7=BD=91=E7=BB=9C=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=AE=8C=E6=88=90=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 14 +- source/app/app_config.c | 10 +- source/app/app_config.h | 11 + source/app/app_data_save.h | 2 +- source/app/main.c | 125 ++++------- source/app/main.h | 10 +- source/app/task_appstatus.c | 21 +- source/app/task_keystatus.c | 31 +-- source/app/task_keystatus.h | 2 +- source/app/task_w600 copy.c | 422 ++++++++++++++++++++---------------- source/app/task_w600.c | 64 ++++-- source/app/task_w600.h | 10 +- source/bsp/bsp_WT2605B.c | 8 + source/bsp/bsp_config.c | 8 +- source/bsp/bsp_config.h | 11 - source/bsp/bsp_ooid.c | 11 + source/bsp/bsp_ooid.h | 8 + source/bsp/bsp_wifi.c | 20 ++ source/bsp/bsp_wifi.h | 10 + source/msp/UARTX.h | 2 +- 20 files changed, 451 insertions(+), 349 deletions(-) create mode 100644 source/bsp/bsp_ooid.c create mode 100644 source/bsp/bsp_ooid.h create mode 100644 source/bsp/bsp_wifi.c create mode 100644 source/bsp/bsp_wifi.h diff --git a/.vscode/settings.json b/.vscode/settings.json index 2f2dfc6..0a1ea92 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -44,6 +44,18 @@ "task_smartconfig.h": "c", "uartx.h": "c", "uart4.h": "c", - "limits": "c" + "limits": "c", + "bsp_config_const.h": "c", + "bit.h": "c", + "STC_stc8h3k.H": "cpp", + "at0d0a.h": "c", + "ccmodbus.h": "c", + "bsp_wifi.h": "c", + "task_apptest.h": "c", + "task.h": "c", + "tick.h": "c", + "bsp_ooid.h": "c", + "tpc_x.h": "c", + "typeinfo": "c" } } \ No newline at end of file diff --git a/source/app/app_config.c b/source/app/app_config.c index 4e58816..d7e6fde 100644 --- a/source/app/app_config.c +++ b/source/app/app_config.c @@ -13,15 +13,18 @@ GlobalRegister R; void L3_param_init(void) { + G.head[0] = HEAD0; + G.head[1] = HEAD1; + //U8 i; G.debug = 1; //station模式状态 G.st_status = 0; //0:none 1:wifi_ok 2:tcp_connect_ok //station模式sid - Lc_strcpy(G.st_sid,"YFRS"); + Lc_strcpy(G.st_sid,"sdf"); // Lc_strcpy(G.st_sid,"iPhone11"); //station模式pwd - Lc_strcpy(G.st_pwd,"99999999"); + Lc_strcpy(G.st_pwd,"dfasgg"); // Lc_strcpy(G.st_pwd,"12345678"); //ap模式状态 G.ap_status = 0;//0: none 1: ap_ok 2:tcp_server_ok @@ -38,6 +41,9 @@ void L3_param_init(void) wr_buf.buf[i].time = wr_buf.buf[i].x_axis = wr_buf.buf[i].y_axis = 0; } #endif + + G.tail[0] = TAIL0; + G.tail[1] = TAIL1; } diff --git a/source/app/app_config.h b/source/app/app_config.h index d6c50d0..59267e0 100644 --- a/source/app/app_config.h +++ b/source/app/app_config.h @@ -16,7 +16,13 @@ #define D_COUNT_WEIGHT(adc) (U32)((adc) / D_ADS1213_GAIN_VAL / R.p.lmd * R.p.weight_max * 1000 / (2 * 0x7FFFFF / 1000 )) #define D_COUNT_ADC(wInG) (U32)((wInG) * D_ADS1213_GAIN_VAL * R.p.lmd * (2 * 0x7FFFFF / 1000) / R.p.weight_max / 1000) +//定义所使用内存的起始和结尾标志 +#define HEAD0 0xa3 +#define HEAD1 0xa4 +#define TAIL0 0xa5 +#define TAIL1 0xa6 +#define EEPROM_DATA_ADDR 0x00 //定义一个起始地址为0x00的寄存器 //STEP 1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Register CONFIG //寄存器编号从1开始 @@ -45,6 +51,8 @@ typedef enum }APP_STATUS; + + typedef struct global_register { //RO Register @@ -96,6 +104,9 @@ extern GlobalRegister R; //STEP 2 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Global Variables CONFIG typedef struct global_param { + U8 head[2]; + U8 tail[2]; + //调试模式 U8 debug; U8 reset; diff --git a/source/app/app_data_save.h b/source/app/app_data_save.h index 1ac0042..ea2fbd2 100644 --- a/source/app/app_data_save.h +++ b/source/app/app_data_save.h @@ -11,7 +11,7 @@ #define DATA_SAVE_LEN 10 //寄存器需要存放的最大数量为10组 -#define EEPROM_DATA_ADDR 0x00 //定义一个起始地址为0x00的寄存器 +// #define EEPROM_DATA_ADDR 0x00 //定义一个起始地址为0x00的寄存器 //用来存储重量数据的结构体(数组) typedef struct diff --git a/source/app/main.c b/source/app/main.c index 000ac28..991c155 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -31,29 +31,28 @@ void L0_BSP_init(void) L2_led_init(); // 语音模块初始化 L2_WT2605B_init(); - - // P53口初始化 推挽输出 - L0_PW_3V3_INIT(); - // 控制3v3输出(OID,WIFI) - L0_PW_3V3_ON(); + // WIFI初始化 + L2_Wifi_init(); + // OID初始化 + L2_OID_init(); LED2 = 0; + L0_Oid_Init(); } void L0_TASK_init(void) { //系统状态任务初始化 L3_task_AppStatus_init(); + // 系统状态测试任务初始化 // L3_task_AppTest_init(); + // 按键状态任务初始化 L3_task_KeyStatus_init(); - //w600任务初始化 + //WIFI任务初始化 L3_task_W600_flow_init(W600_ST); - L3_task_SmartConfig_init(); - - // //游戏任务初始化 // L3_task_game_init(); // //寄存器监听任务初始化 @@ -66,16 +65,11 @@ void L0_TASK_init(void) // L3_task_tcp_init(); // L3_task_tcp_control_init(); } - //=============================================== //主函数 //=============================================== void main(void) { -// int i; - // u8 voice_30[6] = {0x7E,0x04,0xAE,0x1E,0xD0,0xEF}; - // u8 voice_13[6] = {0x7E,0x04,0xAE,0x0D,0xBF,0xEF}; - //板U初始化 L0_MCU_init(); //BSP层初始化 @@ -93,19 +87,13 @@ void main(void) L0_uart0_sendArray("PEN_V2",6); L0_uart0_0d0a(); - //Lc_delay_ms(3000); - //L0_uart3_sendArray((U8 *)&voice_30,6); - - //Lc_delay_ms(1000); - //L0_uart3_sendArray((U8 *)&audio_up,9); - - // 上电读出寄存器中的值,放到数组中 - // L0_Iap_Read_array(EEPROM_DATA_ADDR, data_save_arr,sizeof(data_save_arr)); - // if(data_save_arr[0].head[0] != HEAD0 || data_save_arr[0].head[1] != HEAD1 - // || data_save_arr[0].tail[0] != TAIL0 || data_save_arr[0].tail[1] != TAIL1) - // { - // data_save_init(); - // } + // 读取EEPROM中的参数到G结构体 + L0_Iap_Read_array(EEPROM_DATA_ADDR,&G,sizeof(G)); + if(G.head[0] != HEAD0 || G.head[1] != HEAD1 || G.tail[0] != TAIL0 || G.tail[1] != TAIL1) + // if(1) + { + L3_param_init(); + } while(1) { @@ -114,52 +102,26 @@ void main(void) if(1 == s_nos_tick.t1s_heartbeat)//1s { s_nos_tick.t1s_heartbeat = 0;//置0清空 - L0_uart0_uc('.'); - L0_uart0_sendstr("_s_w600_mode ="); - L0_uart0_uchex(_s_task_w600_para.mode); - + // L0_uart0_uc('.'); + // L0_uart0_sendstr("_s_w600_mode ="); + // L0_uart0_uchex(_s_task_w600_para.mode); + // L0_uart0_0d0a(); + // L0_uart0_sendstr("R.app_status ="); + // L0_uart0_uchex(R.app_status); } - + // 系统状态任务 L3_task_appstatus_handler(&_s_task_appstatus); - // // L3_task_AppTest_handler(&_s_task_apptest); + // 系统状态测试任务 + // L3_task_AppTest_handler(&_s_task_apptest); + // 按键状态任务 L3_task_keystatus_handler(&_s_task_keystatus); - - // // WIFI - L3_uart2_wifi_parse(); - L2_task_W600_flow_handle(&_s_task_w600_para); - - // if (R.app_status == POW_ON) - // { - // L3_uart2_wifi_parse(); - // L2_task_W600_flow_handle(&_s_task_w600_para); - // } - // if (R.app_status == WIFI_CONFIG) - // { - // L2_task_W600_flow_handle(&_s_task_w600_para); - // } - - #if 0 - // 串口3的 接收数据 测试 - if(ts_uart[uNum3].r.ok == 1) + // WIFI任务 + if (R.app_status != POW_OFF) { - ts_uart[uNum3].r.ok = 0; - L0_uart0_uc('@'); - L0_uart0_sendArray(ts_uart[uNum3].r.buf, D_recv3_max); + L3_uart2_wifi_parse(); + L2_task_W600_flow_handle(&_s_task_w600_para); } - - // if(L3_tick_interval(100L))/////10ms - // {L2_tick_stamp(); - // D_print_heartbeat_close(); - - /// L1_as_readA(0);//读取倾角传感器数据 - /// Lc_buf_copy_uc(s_uart1_rec.buf,s_as[0].d,8); - // s_uart1_rec.buf= 传感器数据 - /// ff 08 xh xl yh yl zh zl - /// s_uart1_rec.ok =1; - /// L2_sd_save(); - #endif -///////////////////////////////////////// #if 0 if(s_uart0_rec.ok) { @@ -180,42 +142,31 @@ void main(void) break; } } - // 7E 04 AE 1E XX EF #endif - // 游戏处理 - // L3_task_game_handler(&_s_task_game); - //笔头数据采集 // L3_task_oid_handle(&ts_task_oid); - - //WIFI - // L3_uart2_exp_protocol(&s_uart2_at); - // L2_task_W600_flow_handle(&_s_task_w600_para); - //寄存器值监控 // L3_task_reglisten_handle(&s_task_reglisten); - //输出,响应485协议 //L3_task_modbus_handler(&s_uart0_rec); - - //语音模块 // L3_task_speech_handle(&ts_speech); - - - //按键处理 - // L3_task_btn_handler(); - // L3_task_key_handle(&s_task_key_handle); //L3_task_modbus_handler2(&s_uart2_rec); #if 1 - //tcp发送 // L3_task_tcp_handle(&ts_tcp); - //tcp master->slaver发送逻辑控制 // L3_task_tcp_control_handle(&ts_tcp_control); #endif } } -//end main \ No newline at end of file + + + // 上电读出寄存器中的值,放到数组中 + // L0_Iap_Read_array(EEPROM_DATA_ADDR, data_save_arr,sizeof(data_save_arr)); + // if(data_save_arr[0].head[0] != HEAD0 || data_save_arr[0].head[1] != HEAD1 + // || data_save_arr[0].tail[0] != TAIL0 || data_save_arr[0].tail[1] != TAIL1) + // { + // data_save_init(); + // } \ No newline at end of file diff --git a/source/app/main.h b/source/app/main.h index 3b78deb..2b3d41f 100644 --- a/source/app/main.h +++ b/source/app/main.h @@ -68,6 +68,7 @@ #include "../app/task_game.h" #include "../app/app_data_save.h" +#include "../app/app_config.h" #include "../app/task_appstatus.h" #include "../app/task_appTEST.h" #include "../app/task_keystatus.h" @@ -79,7 +80,14 @@ #include "../bsp/bsp_led.h" #include "../bsp/bsp_key.h" #include "../bsp/bsp_WT2605B.h" -#include "../app/app_config.h" +#include "../bsp/bsp_wifi.h" +#include "../bsp/bsp_ooid.h" + +#include "../bsp/bsp_oid.h" + +#include "../msp/msp_eeprom.h" + + #include "../asp/asp_oid.h" #include "../ctask/tick.h" diff --git a/source/app/task_appstatus.c b/source/app/task_appstatus.c index ef14298..40cb1ee 100644 --- a/source/app/task_appstatus.c +++ b/source/app/task_appstatus.c @@ -19,6 +19,7 @@ #include "../msp/uart0.h" #include "../bsp/bsp_led.h" #include "../app/task_w600.h" +#include "../bsp/bsp_wifi.h" S_TASK_APPSTATUS _s_task_appstatus; @@ -67,20 +68,22 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s) L2_WT2605B_broadcast(&audio_powerdown); // Lc_delay_ms(1000); // L2_WT2605B_PWROFF(); - // // OID和WIFI断电 - // L0_PW_3V3_OFF(); + // OID、WIFI关闭 + L2_OID_WIFI_Close(); } else if (s->status == POW_ON) { - L0_uart0_uc(R.app_status); // LED红灯常亮,LED绿灯灭 L2_RED_LED_ON(); // 音频通电后播放开机语音 // L2_WT2605B_PWRON(); // Lc_delay_ms(1000); L2_WT2605B_broadcast(&audio_poweron); - // // OID和WIFI通电 - // L0_PW_3V3_ON(); + //wifi任务初始化 + L3_task_W600_flow_init(W600_ST); + // OID、WIFI开启 + L2_OID_WIFI_Open(); + } else if (s->status == WIFI_CONFIG) { @@ -91,20 +94,17 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s) // 配网任务初始化,进入配网 L3_gm35_send_str("+++"); L3_task_W600_flow_init(W600_SC); - - } else if (s->status == WIFI_CONFIG_Phone) { L2_WT2605B_broadcast(&audio_config_phone); - }else if (s->status == WIFI_CONFIG_COMPLETE) + } + else if (s->status == WIFI_CONFIG_COMPLETE) { - L2_WT2605B_broadcast(&audio_config_complete); // 配网成功,进入STAION模式 L3_task_W600_flow_init(W600_ST); - } else if (s->status == WIFI_CONNECTED) { @@ -113,7 +113,6 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s) // 音频播放 L2_WT2605B_broadcast(&audio_wifi_connected); } - else if (s->status == TCP_CONNECTED) { // LED红灯灭,LED绿灯常亮 diff --git a/source/app/task_keystatus.c b/source/app/task_keystatus.c index 42b78d0..6425026 100644 --- a/source/app/task_keystatus.c +++ b/source/app/task_keystatus.c @@ -24,9 +24,9 @@ void L3_task_KeyStatus_init(void) { L1_task_init(&_s_task_keystatus.task); _s_task_keystatus.Key1_Down_Begin_Time = 0; - _s_task_keystatus.Key1_handled = 0; _s_task_keystatus.Key2_Down_Begin_Time = 0; _s_task_keystatus.Key3_Down_Begin_Time = 0; + _s_task_keystatus.Key3_handled = 0; L3_task_s_go(_s_task_keystatus,D_task_init); } @@ -40,39 +40,40 @@ void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s) L2_task_go_Tdelay(D_task_KEY_DETECT,D_Tdelay_300ms); TTSS_Task_step(D_task_KEY_DETECT) - if(L2_ReadKey1() == Key_Down) + if(L2_ReadKey3() == Key_Down) { - if (s->Key1_Down_Begin_Time == 0) + if (s->Key3_Down_Begin_Time == 0) { - s->Key1_Down_Begin_Time = D_sys_now; + s->Key3_Down_Begin_Time = D_sys_now; } else { - U32 diff = D_sys_now -s->Key1_Down_Begin_Time; + U32 diff = D_sys_now -s->Key3_Down_Begin_Time; // L0_uart0_ulhex(diff); - if (diff >= LongKey_PWR_MSeconds/JIFFIES && s->Key1_handled == 0) + if (diff >= LongKey_PWR_MSeconds/JIFFIES && s->Key3_handled == 0) { if (R.app_status == POW_OFF) { R.app_status = POW_ON; - s->Key1_Down_Begin_Time = 0; - s->Key1_handled = 1; + s->Key3_Down_Begin_Time = 0; + s->Key3_handled = 1; } else { R.app_status = POW_OFF; - s->Key1_Down_Begin_Time = 0; - s->Key1_handled = 1; + s->Key3_Down_Begin_Time = 0; + s->Key3_handled = 1; } } - else if (diff >= LongKey_WIFICONF_MSeconds/JIFFIES && s->Key1_handled == 0) + else if (diff >= LongKey_WIFICONF_MSeconds/JIFFIES && s->Key3_handled == 0) { - if (L2_ReadKey3() == Key_Down) + if (L2_ReadKey1() == Key_Down) { if (R.app_status != POW_OFF) { R.app_status = WIFI_CONFIG; - s->Key1_handled = 1; + + s->Key3_handled = 1; } } } @@ -80,8 +81,8 @@ void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s) } else { - s->Key1_Down_Begin_Time = 0; - s->Key1_handled = 0; + s->Key3_Down_Begin_Time = 0; + s->Key3_handled = 0; } L2_task_go_Tdelay(D_task_KEY_DETECT,D_Tdelay_300ms); TTSS_Task_end(); diff --git a/source/app/task_keystatus.h b/source/app/task_keystatus.h index 7e283ef..2700335 100644 --- a/source/app/task_keystatus.h +++ b/source/app/task_keystatus.h @@ -25,9 +25,9 @@ typedef struct _s_task_keystatus { TS_task task; U32 Key1_Down_Begin_Time; - U8 Key1_handled; U32 Key2_Down_Begin_Time; U32 Key3_Down_Begin_Time; + U8 Key3_handled; }S_TASK_KEYSTATUS; extern S_TASK_KEYSTATUS _s_task_keystatus; diff --git a/source/app/task_w600 copy.c b/source/app/task_w600 copy.c index 3bb1a9c..b7a9dd4 100644 --- a/source/app/task_w600 copy.c +++ b/source/app/task_w600 copy.c @@ -450,8 +450,7 @@ 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; - L0_uart0_sendstr("TCP connected\r\n"); + R.app_status = TCP_CONNECTED; 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) @@ -505,190 +504,241 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) L2_task_go(TTSS_TASK_GM35_FLOW_ST_DATA); -// 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); -// } + + + + + + + + + +/********************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_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/app/task_w600.c b/source/app/task_w600.c index 1a6c72e..e636afa 100644 --- a/source/app/task_w600.c +++ b/source/app/task_w600.c @@ -41,7 +41,7 @@ char *GET_WIFI_INS() return wifi_ins; } -U8 wifi_rev_buf[64], wifi_tmp[64]; +U8 wifi_rev_buf[128], wifi_tmp[64]; U8 tmp_num = 0; void L3_uart2_wifi_parse(void) { @@ -70,7 +70,11 @@ void L3_uart2_wifi_parse(void) L0_uart0_sendstr(wifi_tmp); L0_uart0_0d0a(); - if(Lc_strcmp(wifi_tmp,"OK") == 0) + if(Lc_strcmp(wifi_tmp,"busy p...") == 0) + { + _s_task_w600_para.busy = 1; + } + else if(Lc_strcmp(wifi_tmp,"OK") == 0) { _s_task_w600_para.ins_ok = 1; } @@ -86,15 +90,19 @@ void L3_uart2_wifi_parse(void) { _s_task_w600_para.smartc_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; } - + else if(Lc_strStartsWith(wifi_tmp,"ssid:")) + { + Lc_strcpy(G.st_sid,wifi_tmp + 5); + } + else if(Lc_strStartsWith(wifi_tmp,"password:")) + { + Lc_strcpy(G.st_pwd,wifi_tmp + 9); + L0_Iap_Program_array(EEPROM_DATA_ADDR,(U8*)&G,sizeof(G)); + } tmp_num = 0; } } @@ -157,23 +165,22 @@ void L3_task_W600_flow_init(U8 mode) void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) { TTSS_Task_init() - L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ATEQV,D_Tdelay_5s);//上电等待1s + L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ATEQV,D_Tdelay_5s);//上电等待5s TTSS_Task_step(TTSS_TASK_GM35_FLOW_ATEQV) if(s->send == 0) {//发送 - L0_uart0_uc('#'); L3_gm35_send_str(AT_INS_ATE0); //"ATE0\r\n" //模块查询+关闭回显 s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(s->ins_ok == 1) //等待 + else if(s->busy == 0 && s->ins_ok == 1) //等待 { s->send = 0; s->serve_ok = 0; - L0_uart0_uc(')'); L2_task_go_Tdelay(s->mode == W600_ST ? TTSS_TASK_GM35_FLOW_ST - :TTSS_TASK_GM35_FLOW_ST_CIPOFF,D_Tdelay_1s); + :TTSS_TASK_GM35_FLOW_ST_SMARTCONFIG,D_Tdelay_1s); } else if(s_nos_tick.t_1s - s->ins_stmp > INS_TIMEOUT) {//超时重发 @@ -186,8 +193,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(s->ins_ok == 1) //等待 + else if(s->busy == 0 && s->ins_ok == 1) //等待 { s->send = 0; L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_WIFI,D_Tdelay_1s); @@ -205,8 +213,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->st_wifi_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(1 == s->st_wifi_ok) + else if(s->busy == 0 && 1 == s->st_wifi_ok) { s->send = 0; R.app_status = WIFI_CONNECTED; //wifi连接成功 @@ -224,8 +233,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->st_wifi_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(1 == s->ins_ok) //等待 + else if(s->busy == 0 && 1 == s->ins_ok) //等待 { s->send = 0; L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_TCP,D_Tdelay_1s); @@ -243,8 +253,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->serve_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(1 == s->serve_ok) //等待 + else if(s->busy == 0 && 1 == s->serve_ok) //等待 { s->send = 0; R.app_status = TCP_CONNECTED; @@ -261,8 +272,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(1 == s->ins_ok) //等待 + else if(s->busy == 0 && 1 == s->ins_ok) //等待 { s->send = 0; L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_CIPSEND,D_Tdelay_1s); @@ -280,8 +292,10 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->st_error = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; + } - else if(s->st_cip_ok == 1) + else if(s->busy == 0 && s->st_cip_ok == 1) { s->send = 0; L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_DATA,D_Tdelay_1s); @@ -293,15 +307,16 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_DATA) L2_task_go(TTSS_TASK_GM35_FLOW_ST_DATA); -/********************s->mode = W600_SC(按键进入)****************************** */ +/*******************************************s->mode = W600_SC(按键进入)********************************************** */ + TTSS_Task_step(TTSS_TASK_GM35_FLOW_ST_CIPOFF) if(s->send == 0) {//发送 - L0_uart0_uc('~'); L3_gm35_send_str("+++"); //关闭CIP s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 0; + s->busy = 0; L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ATE0QV,D_Tdelay_1s); } // else if(1 == s->ins_ok) @@ -321,8 +336,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(s->ins_ok == 1) //等待 + else if(s->busy == 0 && s->ins_ok == 1) //等待 { s->send = 0; L2_task_go_Tdelay(TTSS_TASK_GM35_FLOW_ST_SMARTCONFIG,D_Tdelay_1s); @@ -338,8 +354,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(1 == s->ins_ok) + else if(s->busy == 0 && 1 == s->ins_ok) { s->send = 0; s->smartc_ok = 0; @@ -363,8 +380,9 @@ void L2_task_W600_flow_handle(struct _s_task_W600_Para *s) s->ins_ok = 0; s->ins_stmp = s_nos_tick.t_1s; s->send = 1; + s->busy = 0; } - else if(1 == s->ins_ok) + else if(s->busy == 0 && 1 == s->ins_ok) { s->send = 1; R.app_status = WIFI_CONFIG_COMPLETE; diff --git a/source/app/task_w600.h b/source/app/task_w600.h index 49fe267..0998445 100644 --- a/source/app/task_w600.h +++ b/source/app/task_w600.h @@ -19,13 +19,16 @@ #include "../ctask/task.h" #include "../tpc/at0d0a.h" #include "../tpc/ccmodbus.h" +#include "../msp/msp_eeprom.h" ////<<<<<<<<<<<<<<<<<<< GM35模块 AT操作指令 <<<<<<<<<<<<<<<<<<<<<<<< #define AT_INS_ATE1 "ATE1\r\n" //模块查询+打开回显 + + #define AT_INS_ATE0 "ATE0\r\n" //模块查询+关闭回显 1-1 #define AT_INS_ST "AT+CWMODE=1\r\n" //进入station模式 1-2 -// #define AT_INS_ST_WIFI "AT+CWJAP_DEF=\"ccsens\",\"ccsens123\"\r\n" // 1-3 -#define AT_INS_ST_CIPMUX0 "AT+CIPMUX=0\r\n" // 单连接模式 1-4 +// #define AT_INS_ST_WIFI "AT+CWJAP_DEF=\"ccsens\",\"ccsens123\"\r\n" // 1-3 +#define AT_INS_ST_CIPMUX0 "AT+CIPMUX=0\r\n" // 单连接模式 1-4 #define AT_INS_ST_TCP "AT+CIPSTART=\"TCP\",\"192.168.1.2\",777\r\n" //连接服务器 1-5 //#define AT_INS_ST_TCP "AT+CIPSTART=\"TCP\",\"192.168.0.81\",4001\r\n" //连接服务器 #define AT_INS_ST_CIPMODE1 "AT+CIPMODE=1\r\n" //设置传输模式 0普通传输模式 1透传模式 1-6 @@ -53,7 +56,8 @@ struct _s_task_W600_Para { TS_task task; vU8 send; - + + vU8 busy; vU8 ins_ok; vU8 st_wifi_ok; vU8 st_conn_ok; diff --git a/source/bsp/bsp_WT2605B.c b/source/bsp/bsp_WT2605B.c index 4ffa526..9f30eb7 100644 --- a/source/bsp/bsp_WT2605B.c +++ b/source/bsp/bsp_WT2605B.c @@ -29,6 +29,7 @@ void L2_WT2605B_init() //电源控制引脚 D_HighI_P0(BITN5); L2_WT2605B_PWRON(); + } void L2_WT2605B_PWRON() @@ -45,6 +46,13 @@ void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music) L0_uart3_sendArray((U8 *)music,9); } +void L2_WT2605B_VioceControl(void) +{ + L2_WT2605B_Broadcast(&audio_zmg_again); + L2_WT2605B_VioceUp(); + L2_WT2605B_Broadcast(&audio_zmg_success); +} + void L2_WT2605B_VioceUp(void) { if (volume_control.grade <= 0x1E) diff --git a/source/bsp/bsp_config.c b/source/bsp/bsp_config.c index f52057d..4c62c21 100644 --- a/source/bsp/bsp_config.c +++ b/source/bsp/bsp_config.c @@ -62,16 +62,12 @@ void L0_board_config(void) D_stdIO_P5(BITN5); //IO - - D_stdIO_P1(BITN0); - D_stdIO_P1(BITN1); D_stdIO_P1(BITN2); - D_stdIO_P1(BITN6); // D_stdIO_P3(BITN2); - D_stdIO_P3(BITN4); + D_stdIO_P3(BITN5); D_stdIO_P3(BITN6); D_stdIO_P3(BITN7); @@ -80,7 +76,7 @@ void L0_board_config(void) D_stdIO_P0(BITN2); D_HighI_P3(BITN4); - D_HighI_P5(BITN0); + D_HighI_P0(BITN5); P05 = 0; diff --git a/source/bsp/bsp_config.h b/source/bsp/bsp_config.h index dee9f0e..8974d51 100644 --- a/source/bsp/bsp_config.h +++ b/source/bsp/bsp_config.h @@ -164,21 +164,10 @@ #define LED3 P02 //D4 //#define LED4 P26 //D4 - - - - //笔头 #define SCK P34 #define SDIO P50 - // 3V3输出控制(WIFI,笔头供电) - #define L0_PW_3V3_INIT() D_HighI_P5(BITN3) - #define L0_PW_3V3_ON() D_P53_OFF() - #define L0_PW_3V3_OFF() D_P53_ON() - - - //EEP存储地址定义 #define D_EEP_SECTOR_SIZE 0x200 //每个扇区0x200==512bytes #define D_EEP_SECTOR_BLOCK_SIZE 0x40 //扇区中每个数据块0x40==64bytes,可选值[32,64,128]等 diff --git a/source/bsp/bsp_ooid.c b/source/bsp/bsp_ooid.c new file mode 100644 index 0000000..acd581e --- /dev/null +++ b/source/bsp/bsp_ooid.c @@ -0,0 +1,11 @@ +#include "../bsp/bsp_ooid.h" +#include "../bsp/bsp_wifi.h" + + +void L2_OID_init() +{ + D_stdIO_P3(BITN4); + D_HighI_P5(BITN0); + L2_OID_WIFI_Open(); +} + diff --git a/source/bsp/bsp_ooid.h b/source/bsp/bsp_ooid.h new file mode 100644 index 0000000..94ad330 --- /dev/null +++ b/source/bsp/bsp_ooid.h @@ -0,0 +1,8 @@ +#ifndef BSP_OOID_H +#define BSP_OOID_H + +#include "bsp_config.h" + +extern void L2_OID_init(); + +#endif \ No newline at end of file diff --git a/source/bsp/bsp_wifi.c b/source/bsp/bsp_wifi.c new file mode 100644 index 0000000..079015d --- /dev/null +++ b/source/bsp/bsp_wifi.c @@ -0,0 +1,20 @@ +#include "../bsp/bsp_wifi.h" + +void L2_Wifi_init() +{ + D_stdIO_P1(BITN0); + D_stdIO_P1(BITN1); + D_stdIO_P5(BITN3); + L2_OID_WIFI_Open(); +} + +void L2_OID_WIFI_Open() +{ + D_P53_OFF(); +} + +void L2_OID_WIFI_Close() +{ + D_P53_ON(); +} + diff --git a/source/bsp/bsp_wifi.h b/source/bsp/bsp_wifi.h new file mode 100644 index 0000000..8a7c514 --- /dev/null +++ b/source/bsp/bsp_wifi.h @@ -0,0 +1,10 @@ +#ifndef BSP_WIFI_H +#define BSP_WIFI_H + +#include "bsp_config.h" + +extern void L2_Wifi_init(); +extern void L2_OID_WIFI_Close(); +extern void L2_OID_WIFI_Open(); + +#endif \ No newline at end of file diff --git a/source/msp/UARTX.h b/source/msp/UARTX.h index 87896ef..852a850 100644 --- a/source/msp/UARTX.h +++ b/source/msp/UARTX.h @@ -21,7 +21,7 @@ /////可以依据实际使用独立定制 #define D_recv1_max 32 -#define D_recv2_max 32 +#define D_recv2_max 128 #define D_recv3_max 32 #define D_recv4_max 32