📄 lin_signalsx.c
字号:
#if SIGNAL_STATE_AC_CLUTCH_EN ==1
State_AC_Clutch_WR();//信号: 空调离合器状态
#endif
#if SIGNAL_STATE_COOLINGFAN_EN ==1
State_CoolingFan_WR();//信号: 散热风扇状态
#endif
#if SIGNAL_CMD_FR_SW_RESERVED1_EN ==1
CMD_FR_SW_Reserved1_WR();//信号: 备用开关1
#endif
#if SIGNAL_STATE_FR_RESERVED1_EN ==1
State_FR_Reserved1_WR();//信号: 备用输出1状态
#endif
#if SIGNAL_STATE_FR_RESERVED2_EN ==1
State_FR_Reserved2_WR();//信号: 备用输出2状态
#endif
#if SIGNAL_FR_RESPONSE_ERROR_EN ==1
FR_Response_Error_WR();//信号: 前右模块Response_Error信号
#endif
#if SIGNAL_AN_FR_RESERVED1_EN ==1
AN_FR_Reserved1_WR();//信号: 备用模拟量
#endif
}
void Msg_15_Decode(void)
{
FRM_FR_State_Decode();
}
void Msg_15_Encode(void)
{
FRM_FR_State_Encode();
}
/********************************************************************
函数名称: Msg_15_Signals_Init(void);
功能描述: 将前右数据帧(FRM_FR_State)包含的信号进行初始化
创建人: 王俊鹏
创建日期: 2005年3月3日
更改日期: 2005-3-3,15:29:24
更改原因:
更改内容: 基本功能实现
输入:
输出: 无
********************************************************************/
void Msg_15_Init_Signals(void)
{
LIN_RX_Buf[0] = 0xff;
LIN_TX_Buf[0] = 0xff;
LIN_RX_Buf[1] = 0xff;
LIN_TX_Buf[1] = 0xff;
LIN_RX_Buf[2] = 0xff;
LIN_TX_Buf[2] = 0xff;
LIN_RX_Buf[3] = 0xff;
LIN_TX_Buf[3] = 0xff;
LIN_RX_Buf[4] = 0xff;
LIN_TX_Buf[4] = 0xff;
LIN_RX_Buf[5] = 0xff;
LIN_TX_Buf[5] = 0xff;
LIN_RX_Buf[6] = 0xff;
LIN_TX_Buf[6] = 0xff;
LIN_RX_Buf[7] = 0xff;
LIN_TX_Buf[7] = 0xff;
#if SIGNAL_STATE_FR_TURNLAMP_EN ==1
State_FR_TurnLamp = 0xff;
#endif
#if SIGNAL_CMD_FRSW_AF_EN ==1
CMD_FRSW_AF = 0xff;
#endif
#if SIGNAL_STATE_FR_FOGLAMP_EN ==1
State_FR_FogLamp = 0xff;
#endif
#if SIGNAL_STATE_FR_HEADLIGHT_EN ==1
State_FR_Headlight = 0xff;
#endif
#if SIGNAL_STATE_FR_DIPPEDHEADLIGHT_EN ==1
State_FR_DippedHeadLight = 0xff;
#endif
#if SIGNAL_STATE_FR_LITTLELAMP_EN ==1
State_FR_LittleLamp = 0xff;
#endif
#if SIGNAL_STATE_AC_CLUTCH_EN ==1
State_AC_Clutch = 0xff;
#endif
#if SIGNAL_STATE_COOLINGFAN_EN ==1
State_CoolingFan = 0xff;
#endif
#if SIGNAL_CMD_FR_SW_RESERVED1_EN ==1
CMD_FR_SW_Reserved1 = 0xff;
#endif
#if SIGNAL_STATE_FR_RESERVED1_EN ==1
State_FR_Reserved1 = 0xff;
#endif
#if SIGNAL_STATE_FR_RESERVED2_EN ==1
State_FR_Reserved2 = 0xff;
#endif
#if SIGNAL_FR_RESPONSE_ERROR_EN ==1
FR_Response_Error = 0xff;
#endif
#if SIGNAL_AN_FR_RESERVED1_EN ==1
AN_FR_Reserved1 = 0xff;
#endif
}
#if SIGNAL_CMD_SW_AC_EN ==1
/********************************************************************
函数名称: CMD_SW_AC_RD
功能描述: 从接收缓冲区读取信号CMD_SW_AC
创建人: 王俊鹏
创建日期: 2005年1月10日
更改日期: 2005-3-3,15:29:24
更改原因: 新创建
更改内容: 基本功能实现
输入: 无
输出: varReturn
注:
信号CMD_SW_AC位于数据帧车身数据帧(ID = 0x10)第 1位到第2位
********************************************************************/
L_U8 CMD_SW_AC_RD(void)
{
L_U8 varReturn;
varReturn = LIN_RX_Buf[0];
varReturn = (varReturn >> 0);
varReturn = (varReturn & 0x03);
return varReturn;
}
/********************************************************************
函数名称: CMD_SW_AC_WR
功能描述: 将信号 CMD_SW_AC写入到发送缓冲区中
创建人: 王俊鹏
创建日期: 2005年1月10日
更改日期: 2005-3-3,15:29:24
更改原因: 新创建
更改内容: 基本功能实现
输入: 无
输出: 无
注:
信号CMD_SW_AC位于数据帧车身数据帧(ID = 0x17)第 1位到第2位
********************************************************************/
void CMD_SW_AC_WR(void)
{
L_U8 uBuf;
L_U8 uMask;
uBuf = (CMD_SW_AC & 0x03);
uMask = 0x03;
uMask = (uMask << 0);
uBuf = (uBuf << 0);
LIN_TX_Buf[0] &= ~uMask;
LIN_TX_Buf[0] |= uBuf;
return ;
}
#endif
#if SIGNAL_CMD_KEYPOS_EN ==1
/********************************************************************
函数名称: CMD_KeyPos_RD
功能描述: 从接收缓冲区读取信号CMD_KeyPos
创建人: 王俊鹏
创建日期: 2005年1月10日
更改日期: 2005-3-3,15:29:24
更改原因: 新创建
更改内容: 基本功能实现
输入: 无
输出: varReturn
注:
信号CMD_KeyPos位于数据帧车身数据帧(ID = 0x10)第 7位到第9位
********************************************************************/
L_U8 CMD_KeyPos_RD(void)
{
L_U8 varReturn;
varReturn = LIN_RX_Buf[1];
varReturn = (varReturn >> 6);
varReturn = (varReturn & 0x07);
return varReturn;
}
/********************************************************************
函数名称: CMD_KeyPos_WR
功能描述: 将信号 CMD_KeyPos写入到发送缓冲区中
创建人: 王俊鹏
创建日期: 2005年1月10日
更改日期: 2005-3-3,15:29:24
更改原因: 新创建
更改内容: 基本功能实现
输入: 无
输出: 无
注:
信号CMD_KeyPos位于数据帧车身数据帧(ID = 0x17)第 7位到第9位
********************************************************************/
void CMD_KeyPos_WR(void)
{
L_U8 uBuf;
L_U8 uMask;
uBuf = (CMD_KeyPos & 0x07);
uMask = 0x07;
uMask = (uMask << 6);
uBuf = (uBuf << 6);
LIN_TX_Buf[1] &= ~uMask;
LIN_TX_Buf[1] |= uBuf;
return ;
}
#endif
/********************************************************************
函数名称: FRM_Body_Encode(void);
功能描述: 将车身数据帧(FRM_Body)解包函数
创建人: 王俊鹏
创建日期: 2005年2月2日
更改日期: 2005-3-3,15:29:24
更改原因:
更改内容: 基本功能实现
输入:
输出: 无
********************************************************************/
void FRM_Body_Decode(void)
{
#if SIGNAL_CMD_SW_AC_EN ==1
CMD_SW_AC = CMD_SW_AC_RD();//信号: 空调开关命令
#endif
#if SIGNAL_CMD_KEYPOS_EN ==1
CMD_KeyPos = CMD_KeyPos_RD();//信号: 钥匙位置参数
#endif
}
/********************************************************************
函数名称: FRM_Body_Encode(void);
功能描述: 将车身数据帧(FRM_Body)打包函数
创建人: 王俊鹏
创建日期: 2005年2月2日
更改日期: 2005-3-3,15:29:24
更改原因:
更改内容: 基本功能实现
输入:
输出: 无
********************************************************************/
void FRM_Body_Encode(void)
{
#if SIGNAL_CMD_SW_AC_EN ==1
CMD_SW_AC_WR();//信号: 空调开关命令
#endif
#if SIGNAL_CMD_KEYPOS_EN ==1
CMD_KeyPos_WR();//信号: 钥匙位置参数
#endif
}
void Msg_17_Decode(void)
{
FRM_Body_Decode();
}
void Msg_17_Encode(void)
{
FRM_Body_Encode();
}
/********************************************************************
函数名称: Msg_17_Signals_Init(void);
功能描述: 将车身数据帧(FRM_Body)包含的信号进行初始化
创建人: 王俊鹏
创建日期: 2005年3月3日
更改日期: 2005-3-3,15:29:24
更改原因:
更改内容: 基本功能实现
输入:
输出: 无
********************************************************************/
void Msg_17_Init_Signals(void)
{
LIN_RX_Buf[0] = 0xff;
LIN_TX_Buf[0] = 0xff;
LIN_RX_Buf[1] = 0xff;
LIN_TX_Buf[1] = 0xff;
LIN_RX_Buf[2] = 0xff;
LIN_TX_Buf[2] = 0xff;
LIN_RX_Buf[3] = 0xff;
LIN_TX_Buf[3] = 0xff;
LIN_RX_Buf[4] = 0xff;
LIN_TX_Buf[4] = 0xff;
LIN_RX_Buf[5] = 0xff;
LIN_TX_Buf[5] = 0xff;
LIN_RX_Buf[6] = 0xff;
LIN_TX_Buf[6] = 0xff;
LIN_RX_Buf[7] = 0xff;
LIN_TX_Buf[7] = 0xff;
#if SIGNAL_CMD_SW_AC_EN ==1
CMD_SW_AC = 0xff;
#endif
#if SIGNAL_CMD_KEYPOS_EN ==1
CMD_KeyPos = 0xff;
#endif
}
#if SIGNAL_CMD_TURNRIGHT_EN ==1
/********************************************************************
函数名称: CMD_TurnRight_RD
功能描述: 从接收缓冲区读取信号CMD_TurnRight
创建人: 王俊鹏
创建日期: 2005年1月10日
更改日期: 2005-3-3,15:29:24
更改原因: 新创建
更改内容: 基本功能实现
输入: 无
输出: varReturn
注:
信号CMD_TurnRight位于数据帧转向数据帧(ID = 0x10)第 3位到第4位
********************************************************************/
L_U8 CMD_TurnRight_RD(void)
{
L_U8 varReturn;
varReturn = LIN_RX_Buf[0];
varReturn = (varReturn >> 2);
varReturn = (varReturn & 0x03);
return varReturn;
}
/********************************************************************
函数名称: CMD_TurnRight_WR
功能描述: 将信号 CMD_TurnRight写入到发送缓冲区中
创建人: 王俊鹏
创建日期: 2005年1月10日
更改日期: 2005-3-3,15:29:24
更改原因: 新创建
更改内容: 基本功能实现
输入: 无
输出: 无
注:
信号CMD_TurnRight位于数据帧转向数据帧(ID = 0x1b)第 3位到第4位
********************************************************************/
void CMD_TurnRight_WR(void)
{
L_U8 uBuf;
L_U8 uMask;
uBuf = (CMD_TurnRight & 0x03);
uMask = 0x03;
uMask = (uMask << 2);
uBuf = (uBuf << 2);
LIN_TX_Buf[0] &= ~uMask;
LIN_TX_Buf[0] |= uBuf;
return ;
}
#endif
/********************************************************************
函数名称: FRM_Turn_Encode(void);
功能描述: 将转向数据帧(FRM_Turn)解包函数
创建人: 王俊鹏
创建日期: 2005年2月2日
更改日期: 2005-3-3,15:29:24
更改原因:
更改内容: 基本功能实现
输入:
输出: 无
********************************************************************/
void FRM_Turn_Decode(void)
{
#if SIGNAL_CMD_TURNRIGHT_EN ==1
CMD_TurnRight = CMD_TurnRight_RD();//信号: 右转向命令
#endif
}
/********************************************************************
函数名称: FRM_Turn_Encode(void);
功能描述: 将转向数据帧(FRM_Turn)打包函数
创建人: 王俊鹏
创建日期: 2005年2月2日
更改日期: 2005-3-3,15:29:24
更改原因:
更改内容: 基本功能实现
输入:
输出: 无
********************************************************************/
void FRM_Turn_Encode(void)
{
#if SIGNAL_CMD_TURNRIGHT_EN ==1
CMD_TurnRight_WR();//信号: 右转向命令
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -