From f82a6f224019b2eaee1e546d67c54ebbf921d590 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期四, 08 五月 2025 16:30:44 +0800 Subject: [PATCH] 修改了新的上传逻辑现在gps和uwb互不影响 --- keil/include/src/TCPClient.c | 68 +++++++++++++++++++++++++++++++-- 1 files changed, 63 insertions(+), 5 deletions(-) diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c index c5a7f3b..4f647a0 100644 --- a/keil/include/src/TCPClient.c +++ b/keil/include/src/TCPClient.c @@ -170,6 +170,7 @@ // save_com_map_to_flash(); // delay_us(100000); uint16_t tmp = 0xCCCC; + uint8_t flag = 0; __disable_irq(); result=flash_open(FLASH_ID0,NULL); if(!result) @@ -177,7 +178,8 @@ flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE);//擦除APPFLAG - flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8*)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8 *)&flag, 1); + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP+1, (HIDO_UINT8*)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); } __enable_irq(); NVIC_SystemReset(); //软复位回到bootloader @@ -296,6 +298,8 @@ } tempindex = HIDO_UtilStrToInt(apcSplitStr[2]); templen = HIDO_UtilStrToInt(apcSplitStr[3]); + if(templen>10) + templen=10; buffer_len = sprintf(send_buffer,"$replypara,"); datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); buffer_len += datalen; @@ -310,6 +314,50 @@ send_buffer[buffer_len++] = 0x0d; send_buffer[buffer_len++] = 0x0a; Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + } + /* $download_audio,http://39.106.210.13:8080/hfs/xxx.bin */ + else if (STRCMP(_u8Data, "$download_audio,") == 0) + { + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + uint16_t tmp = 0xCCCC; + uint8_t flag = 1; + + __disable_irq(); + result = flash_open(FLASH_ID0, NULL); + if (!result) + { + flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE); // 擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t *)&tmp, sizeof(tmp)); + flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE); // 擦除APPFLAG + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, (HIDO_UINT8 *)&flag, 1); + flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP + 1, (HIDO_UINT8 *)apcSplitStr[2], strlen(apcSplitStr[2]) + 1); + } + __enable_irq(); + NVIC_SystemReset(); // 软复位回到bootloader + } + } + /* $play_audio,0-9 */ + else if (STRCMP(_u8Data, "$play_audio,") == 0) + { + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + PCA9555_Set_One_Value_Output(TTS_ENABLE,1);//输出高电平切换为5V输入 + delay_ms(100); + WT588E_PLAY(atoi(apcSplitStr[2])); } } @@ -640,14 +688,24 @@ char str[17]= {"AT+IPR=9600;&W\r\n"}; void AIR780E_Reset(void) { -// PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G -// delay_ms(1500); -// PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G -// delay_ms(3000); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + delay_ms(3000); // Uart_ReConfigBaudRate(UART_ID_4G,115200); // uart_send(UART_ID0, str,17, NULL); // Uart_ReConfigBaudRate(UART_ID_4G,9600); } +void AIR780E_Reset_usart(void) +{ + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G + delay_ms(1500); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G + delay_ms(3000); + Uart_ReConfigBaudRate(UART_ID_4G,115200); + uart_send(UART_ID0, str,17, NULL); + Uart_ReConfigBaudRate(UART_ID_4G,9600); +} uint8_t IfTCPConnected(void) { if(TCP_CLIENT_STATE_CONNECTED == l_eTCPClientState) -- Gitblit v1.9.3