|
@@ -41,7 +41,7 @@ extern ARM_DRIVER_USART Driver_USART1;
|
|
|
static ARM_DRIVER_USART *USARTdrv = &Driver_USART1;
|
|
|
volatile bool isRecvTimeout = false;
|
|
|
volatile bool isRecvComplete = false;
|
|
|
-
|
|
|
+QueueHandle_t gpsMsgQueue = NULL;
|
|
|
uint8_t Batt_Cell_Num = 14;
|
|
|
uint8_t Batt_Cell_Num_2 ;
|
|
|
uint8_t Batt_Temp_Num = 5;
|
|
@@ -49,6 +49,7 @@ int16_t Uart_Rece_BattI=0x0000;
|
|
|
uint8_t Can_Rece_buffer[8];
|
|
|
volatile bool Can_Enable = false;
|
|
|
uint16_t data_index = 0x0000;
|
|
|
+volatile bool Sleep_Flag = false;
|
|
|
uint8_t battbuffer[100];
|
|
|
|
|
|
* 存放规则如下:
|
|
@@ -243,7 +244,7 @@ static void Main_Task(void* arg)
|
|
|
PROC_UART_STATE_SWITCH(PROCESS_UART_STATE_SLEEP);
|
|
|
PROC_CAN_STATE_SWITCH(PROCESS_CAN_STATE_SLEEP);
|
|
|
}
|
|
|
-
|
|
|
+ Sleep_Flag = true;
|
|
|
slpManSlpState_t State;
|
|
|
uint8_t cnt;
|
|
|
if(slpManCheckVoteState(MainSlpHandler, &State, &cnt)==RET_TRUE)
|
|
@@ -414,6 +415,7 @@ static void Uart_Task(void* arg)
|
|
|
uint8_t *Uart_Rece_buffer = NULL;
|
|
|
volatile bool Uart_task = false;
|
|
|
Batt_Cell_Num_2 = Batt_Cell_Num<<1;
|
|
|
+ gpsReqMsg Gpsmsg;
|
|
|
while (true)
|
|
|
{
|
|
|
switch (gProcess_Uart_Task)
|
|
@@ -444,11 +446,22 @@ static void Uart_Task(void* arg)
|
|
|
}
|
|
|
case PROCESS_UART_STATE_WORK:
|
|
|
{
|
|
|
+ posGGAServiceStart(GGACallBack);
|
|
|
+ if(gpsMsgQueue == NULL)
|
|
|
+ {
|
|
|
+ gpsMsgQueue = osMessageQueueNew(1,sizeof(gpsReqMsg), NULL);
|
|
|
+ }
|
|
|
+ osMessageQueueGet(gpsMsgQueue, &Gpsmsg, 0, 2000);
|
|
|
+ if(Gpsmsg.dataPtr)
|
|
|
+ {
|
|
|
+ #ifdef USING_PRINTF
|
|
|
+ printf("GpsProcess Main: %s\r\n",Gpsmsg.dataPtr);
|
|
|
+ #endif
|
|
|
+ }
|
|
|
NetSocDisplay(LED_SOC_1,LED_TURN_ON);
|
|
|
#ifdef USING_PRINTF
|
|
|
printf("Uart work!\n");
|
|
|
#endif
|
|
|
- posGGAServiceStart(GGACallBack);
|
|
|
Uart_task = false;
|
|
|
Uart_Rece_buffer = (uint8_t *)malloc(Uart_Rece_LEN);
|
|
|
|