瀏覽代碼

版本号为2.0.0.2,新增:Can信息发送,6060温度编号更改。

CHENJIE-PC\QiXiang_CHENJIE 4 年之前
父節點
當前提交
69d7746ae1
共有 2 個文件被更改,包括 21 次插入5 次删除
  1. 4 4
      inc/app.h
  2. 17 1
      src/CANTask.c

+ 4 - 4
inc/app.h

@@ -15,8 +15,8 @@ extern "C" {
 //全局定义声明区
 #define BMS_MANUFACTURE (1) //BMS制造商表示1-超力源,2-美顺
 #define DATA_MODULE_TYPE (1) //1表示NB模块,2表示4G cat1
-#define BAT4830
-//#define BAT6060
+//#define BAT4830
+#define BAT6060
 #ifdef  BAT4830
     #define BATT_CELL_VOL_NUM  (14)
     #define BATT_TEMP_NUM  (3)
@@ -24,7 +24,7 @@ extern "C" {
     #define BATT_OTHER_TEMP_NUM  (2)
 #elif defined BAT6060
     #define BATT_CELL_VOL_NUM  (17)
-    #define BATT_TEMP_NUM  (5)
+    #define BATT_TEMP_NUM  (4)
     #define BMS_INFO  (2)       //2-BMS信息表示6060
     #define BATT_OTHER_TEMP_NUM  (2)
 #endif
@@ -34,7 +34,7 @@ extern "C" {
 #define HWVERSION		    0x0102    //硬件主版本,现为V1.2板
 #define	BLSWVERSION		0x01020000    //BootLoader版本号V1.2.0.0
 #define	DRVSWVERSION		0x01030000     //驱动层版本号V1.3.0.0
-#define	APPSWVERSION		0x02000000      
+#define	APPSWVERSION		0x02000002      
 
 //--------------------------------------------------------------------------------
 

+ 17 - 1
src/CANTask.c

@@ -25,7 +25,9 @@
 
 
 
+extern UINT32 Timer_count;
 extern volatile bool Sleep_flag;
+extern UartReadMsgType UartReadMsg;
 
 CAN_Msg_Type CanRxMsg[2];
 /*线程声明*/
@@ -69,7 +71,7 @@ static void Can_Receive()
 	slpManSlpState_t State;
     uint8_t cnt,temp,udsFlag=0;
 	UINT8 i = 0;
-
+	CAN_Msg_Type CANSendBuffer ={0};
     while(true)
     {
 		memset(CanRxMsg, 0, sizeof(CanRxMsg));    		
@@ -110,6 +112,20 @@ static void Can_Receive()
 					{	
 						UDS_Service();
 						udsFlag = 0;							
+					}
+					if(Timer_count%10==0&&UartReadMsg.len>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;
 			}