WXK
2025-03-27 3a40c92e09584e3dde2c8d73a43acc29bb1f07cf
keil/include/src/TCPClient.c
@@ -23,6 +23,8 @@
#include "PCA9555.h"
#include "WS2812.h"
#include "PCA9555.h"
#include "mk_flash.h"
#include <serial_at_cmd_app.h>
/*******************************************************************************
 *                                  Macro                                      *
 *******************************************************************************/
@@ -155,11 +157,29 @@
        /* 设备ID检查 */
        if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID])
        {
              ota_flag=1;
//              ota_flag=1;
//              LOG_INFO(TRACE_MODULE_APP,"OTA文件地址名称:%s.\r\n",(char *)&apcSplitStr[2]);
//              uart_send(UART_ID1, (char *)&apcSplitStr[2],strlen(apcSplitStr[3]), NULL);
            memcpy(testdata,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1);
              OTA_Start((HIDO_UINT8*)apcSplitStr[2]);
//            memcpy(testdata,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1);
//              OTA_Start((HIDO_UINT8*)apcSplitStr[2]);
//            g_com_map[OTA_FLAG]=1;
//            g_com_map[OTA_URL_CHANGDU]=strlen(apcSplitStr[2]) + 1;
//            memcpy(g_com_map+OTA_URL_INDEX,(HIDO_UINT8*)apcSplitStr[2],strlen(apcSplitStr[2]) + 1);
//            save_com_map_to_flash();
//            delay_us(100000);
            uint16_t tmp = 0xCCCC;
            __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*)apcSplitStr[2], strlen(apcSplitStr[2]) + 1);
            }
            __enable_irq();
            NVIC_SystemReset(); //软复位回到bootloader
        }
    }
    /* $getlog,id,url */
@@ -203,7 +223,7 @@
                    PCA9555_Set_One_Value_Output(TTS_ENABLE,1);         //打开TTS电源
                    delay_ms(800);                //再短一点,会丢失语音的第一个字,不是不读,而是就像没有下发第一个字
                    
                    TTS_Play((HIDO_UINT8 *)apcSplitStr[3], strlen(apcSplitStr[3]));             //服务器语音播报
//                    TTS_Play((HIDO_UINT8 *)apcSplitStr[3], strlen(apcSplitStr[3]));             //服务器语音播报
                    
                    
                    u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "$Receivevoice,%X\r\n",
@@ -592,9 +612,9 @@
void AIR780E_Reset(void)
{
      PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G
    delay_ms(1500);
    delay_ms(100);
    PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G
    delay_ms(3000);
//    delay_ms(3000);
//    Uart_ReConfigBaudRate(UART_ID_4G,9600);
//    uart_send(UART_ID0, str,19, NULL);
//    Uart_ReConfigBaudRate(UART_ID_4G,115200);