Commit 64f8d506 authored by 郑萍's avatar 郑萍

feat:增加车速转速的can接收

parent 06a627fb
#include "CAN_CH0_CAN_Communication_Matrix.h" #include "CAN_CH0_CAN_Communication_Matrix.h"
/* 2024/06/20 16:36:58 */
/* 2024/06/19 19:37:20 */
st_CanMsgOp CAN_CH0_CanMsgOp; st_CanMsgOp CAN_CH0_CanMsgOp;
st_CanMsgTxOp CAN_CH0_CanMsgTxOp; st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
#define CAN_CH0 &CAN_CH0_CanMsgOp #define CAN_CH0 &CAN_CH0_CanMsgOp
const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] = const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] =
{ {
{0} {0}
}; };
const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
...@@ -57,7 +56,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = ...@@ -57,7 +56,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}, {0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}, {0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul, 5000ul,
0x37Bul, 0x12Bul,
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
...@@ -67,7 +66,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = ...@@ -67,7 +66,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}, {0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}, {0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul, 5000ul,
0x12Bul, 0x450ul,
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
...@@ -77,7 +76,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] = ...@@ -77,7 +76,7 @@ const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}, {0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}, {0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul, 5000ul,
0x450ul, 0x37Bul,
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
(( void * )0), (( void * )0),
...@@ -263,27 +262,6 @@ uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH1(void) ...@@ -263,27 +262,6 @@ uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH1(void)
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 0u) >> 0u) & 0xFFu)); return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 0u) >> 0u) & 0xFFu));
} }
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Checksum(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Livecounter(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 6u) >> 0u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Control(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 2u) >> 7u) & 0x01u));
}
uint16_t Get_CAN_CH0_ID_37B_Sig_TCS_Target_Torque(void)
{
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 0u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_12B_Sig_Abs_warning_lamp(void) uint8_t Get_CAN_CH0_ID_12B_Sig_Abs_warning_lamp(void)
{ {
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_12B_Msg_Count, 4u) >> 1u) & 0x03u)); return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_12B_Msg_Count, 4u) >> 1u) & 0x03u));
...@@ -299,6 +277,16 @@ uint8_t Get_CAN_CH0_ID_450_Sig_ABSOFF_Selection(void) ...@@ -299,6 +277,16 @@ uint8_t Get_CAN_CH0_ID_450_Sig_ABSOFF_Selection(void)
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_450_Msg_Count, 0u) >> 0u) & 0x01u)); return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_450_Msg_Count, 0u) >> 0u) & 0x01u));
} }
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 3u) >> 4u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Warning_Lamp(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 3u) >> 2u) & 0x01u));
}
uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID) uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
{ {
uint8_t u8Result = CAN_CH0_ID_TOTAL_MAX; uint8_t u8Result = CAN_CH0_ID_TOTAL_MAX;
...@@ -316,15 +304,15 @@ uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID) ...@@ -316,15 +304,15 @@ uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
case CAN_CH0_ID_CH0_402_Msg: case CAN_CH0_ID_CH0_402_Msg:
u8Result = CAN_CH0_ID_CH0_402_Msg_Count; u8Result = CAN_CH0_ID_CH0_402_Msg_Count;
break; break;
case CAN_CH0_ID_CH0_37B_Msg:
u8Result = CAN_CH0_ID_CH0_37B_Msg_Count;
break;
case CAN_CH0_ID_CH0_12B_Msg: case CAN_CH0_ID_CH0_12B_Msg:
u8Result = CAN_CH0_ID_CH0_12B_Msg_Count; u8Result = CAN_CH0_ID_CH0_12B_Msg_Count;
break; break;
case CAN_CH0_ID_CH0_450_Msg: case CAN_CH0_ID_CH0_450_Msg:
u8Result = CAN_CH0_ID_CH0_450_Msg_Count; u8Result = CAN_CH0_ID_CH0_450_Msg_Count;
break; break;
case CAN_CH0_ID_CH0_37B_Msg:
u8Result = CAN_CH0_ID_CH0_37B_Msg_Count;
break;
default : default :
u8Result = CAN_CH0_ID_TOTAL_MAX; u8Result = CAN_CH0_ID_TOTAL_MAX;
break; break;
......
...@@ -14,16 +14,16 @@ typedef enum ...@@ -14,16 +14,16 @@ typedef enum
CAN_CH0_ID_CH0_111_Msg_Count, CAN_CH0_ID_CH0_111_Msg_Count,
CAN_CH0_ID_CH0_401_Msg_Count, CAN_CH0_ID_CH0_401_Msg_Count,
CAN_CH0_ID_CH0_402_Msg_Count, CAN_CH0_ID_CH0_402_Msg_Count,
CAN_CH0_ID_CH0_37B_Msg_Count,
CAN_CH0_ID_CH0_12B_Msg_Count, CAN_CH0_ID_CH0_12B_Msg_Count,
CAN_CH0_ID_CH0_450_Msg_Count, CAN_CH0_ID_CH0_450_Msg_Count,
CAN_CH0_ID_CH0_37B_Msg_Count,
CAN_CH0_ID_TOTAL_MAX, CAN_CH0_ID_TOTAL_MAX,
} CAN_CH0_CAN_MSG_ID_t; } CAN_CH0_CAN_MSG_ID_t;
typedef enum typedef enum
{ {
TEST, TEST,
CAN_CH0_ID_SEND_TOTAL, CAN_CH0_ID_SEND_TOTAL,
} CAN_CH0_CAN_MSG_SEND_ID_t; } CAN_CH0_CAN_MSG_SEND_ID_t;
...@@ -34,9 +34,9 @@ extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] ...@@ -34,9 +34,9 @@ extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL]
#define CAN_CH0_ID_CH0_111_Msg 0x111ul #define CAN_CH0_ID_CH0_111_Msg 0x111ul
#define CAN_CH0_ID_CH0_401_Msg 0x401ul #define CAN_CH0_ID_CH0_401_Msg 0x401ul
#define CAN_CH0_ID_CH0_402_Msg 0x402ul #define CAN_CH0_ID_CH0_402_Msg 0x402ul
#define CAN_CH0_ID_CH0_37B_Msg 0x37Bul
#define CAN_CH0_ID_CH0_12B_Msg 0x12Bul #define CAN_CH0_ID_CH0_12B_Msg 0x12Bul
#define CAN_CH0_ID_CH0_450_Msg 0x450ul #define CAN_CH0_ID_CH0_450_Msg 0x450ul
#define CAN_CH0_ID_CH0_37B_Msg 0x37Bul
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum(void); extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Livecounter(void); extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Livecounter(void);
...@@ -73,13 +73,11 @@ extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt(void); ...@@ -73,13 +73,11 @@ extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL1(void); extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL1(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCM1(void); extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCM1(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH1(void); extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH1(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Checksum(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Livecounter(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Control(void);
extern uint16_t Get_CAN_CH0_ID_37B_Sig_TCS_Target_Torque(void);
extern uint8_t Get_CAN_CH0_ID_12B_Sig_Abs_warning_lamp(void); extern uint8_t Get_CAN_CH0_ID_12B_Sig_Abs_warning_lamp(void);
extern uint8_t Get_CAN_CH0_ID_450_Sig_Dashboard_TCSFunSwitch(void); extern uint8_t Get_CAN_CH0_ID_450_Sig_Dashboard_TCSFunSwitch(void);
extern uint8_t Get_CAN_CH0_ID_450_Sig_ABSOFF_Selection(void); extern uint8_t Get_CAN_CH0_ID_450_Sig_ABSOFF_Selection(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Warning_Lamp(void);
extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID); extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID);
......
#include "Data_ESpeed.h" #include "Data_ESpeed.h"
#include "Components.h" #include "Components.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
/*** 发动机转速 ***/ /*** 发动机转速 ***/
uint16_t DataESpeedActual; uint16_t DataESpeedActual;
...@@ -50,8 +51,7 @@ void Data_Engine_Speed_Processing_Service ( void ) ...@@ -50,8 +51,7 @@ void Data_Engine_Speed_Processing_Service ( void )
//第1步:获取实际转速值及转速有效性 //第1步:获取实际转速值及转速有效性
if ( Common_Get_IG_Sts() == COMMON_POWER_ON ) if ( Common_Get_IG_Sts() == COMMON_POWER_ON )
{ {
//if((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST)||(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed() > 0xFFFF)) if((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST)||(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed() > 0xFFFF))
if(1)
{ {
DataESpeedValid = 0; DataESpeedValid = 0;
DataESpeedActual = 0; DataESpeedActual = 0;
......
#include "Data_VSpeed.h" #include "Data_VSpeed.h"
#include "Components.h" #include "Components.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
static uint16_t DataVSpeedActual; static uint16_t DataVSpeedActual;
static uint16_t DataVSpeedDisp; static uint16_t DataVSpeedDisp;
...@@ -69,17 +70,16 @@ void Data_Vehicle_Speed_Processing_Service(void) ...@@ -69,17 +70,16 @@ void Data_Vehicle_Speed_Processing_Service(void)
uint16_t Delta; uint16_t Delta;
uint32_t VSpeed; uint32_t VSpeed;
uint32_t VSpeedCal; uint32_t VSpeedCal;
//uint8_t ESC_VehicleSpeedvalid; // uint8_t ESC_VehicleSpeedvalid;
uint32_t Vehicle_Speed; uint32_t Vehicle_Speed;
//Vehicle_Speed = Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed( ); Vehicle_Speed = Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed();
//ESC_VehicleSpeedvalid = Get_CAN_CH0_ID_330_Sig_ESC_Vehicle_speed_valid( ); //ESC_VehicleSpeedvalid = Get_CAN_CH0_ID_330_Sig_ESC_Vehicle_speed_valid( );
// 第1步:获取实际车速值及车速有效性 // 第1步:获取实际车速值及车速有效性
if( Common_Get_IG_Sts( ) == COMMON_POWER_ON ) if( Common_Get_IG_Sts( ) == COMMON_POWER_ON )
{ {
//if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST) || (Vehicle_Speed > 0XFF)) if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST) || (Vehicle_Speed > 0XFF))
if(1)
{ {
/* 先判断掉线 */ /* 先判断掉线 */
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST) //if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment