|
@@ -24,9 +24,9 @@
|
|
#include "UDSService.h"
|
|
#include "UDSService.h"
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
+extern UINT32 Timer_count;
|
|
extern volatile bool Sleep_flag;
|
|
extern volatile bool Sleep_flag;
|
|
-
|
|
|
|
|
|
+extern UartReadMsgType UartReadMsg;
|
|
CAN_Msg_Type CanRxMsg[2];
|
|
CAN_Msg_Type CanRxMsg[2];
|
|
/*线程声明*/
|
|
/*线程声明*/
|
|
#define PROC_CAN_RX_TASK_STACK_SIZE (1024)
|
|
#define PROC_CAN_RX_TASK_STACK_SIZE (1024)
|
|
@@ -110,9 +110,24 @@ static void Can_Receive()
|
|
{
|
|
{
|
|
UDS_Service();
|
|
UDS_Service();
|
|
udsFlag = 0;
|
|
udsFlag = 0;
|
|
|
|
+ }
|
|
|
|
+ if(Timer_count%10==0&&UartReadMsg.len>0)
|
|
|
|
+ {
|
|
|
|
+ CAN_Msg_Type CANSendBuffer ={0};
|
|
|
|
+ CANSendBuffer.Id = 0x7A9;
|
|
|
|
+ CANSendBuffer.DLC = 8;
|
|
|
|
+ CANSendBuffer.Data[0] = UartReadMsg.data[(0x19+BATT_CELL_VOL_NUM+BATT_TEMP_NUM+BATT_OTHER_TEMP_NUM)*2+1];
|
|
|
|
+ CANSendBuffer.Data[1] = UartReadMsg.data[(0x19+BATT_CELL_VOL_NUM+BATT_TEMP_NUM+BATT_OTHER_TEMP_NUM)*2];
|
|
|
|
+ CANSendBuffer.Data[2] = UartReadMsg.data[(0x1A+BATT_CELL_VOL_NUM+BATT_TEMP_NUM+BATT_OTHER_TEMP_NUM)*2+1];
|
|
|
|
+ CANSendBuffer.Data[3] = UartReadMsg.data[(0x1A+BATT_CELL_VOL_NUM+BATT_TEMP_NUM+BATT_OTHER_TEMP_NUM)*2];
|
|
|
|
+ CANSendBuffer.Data[4] = UartReadMsg.data[(0x0B+BATT_CELL_VOL_NUM+BATT_TEMP_NUM+BATT_OTHER_TEMP_NUM)*2+1];
|
|
|
|
+ CANSendBuffer.Data[5] = UartReadMsg.data[(0x0B+BATT_CELL_VOL_NUM+BATT_TEMP_NUM+BATT_OTHER_TEMP_NUM)*2];
|
|
|
|
+ CANSendBuffer.Data[6] = 0x00;
|
|
|
|
+ CANSendBuffer.Data[7] = 0x00;
|
|
|
|
+ HAL_Can_Transmit(CANSendBuffer);
|
|
}
|
|
}
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
case PROCESS_CAN_STATE_SLEEP:
|
|
case PROCESS_CAN_STATE_SLEEP:
|
|
{
|
|
{
|
|
HAL_Can_Sleep();
|
|
HAL_Can_Sleep();
|