⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lin_signalsx.c

📁 此程序为DP256的SPI实验程序,已经通过实验证明
💻 C
📖 第 1 页 / 共 5 页
字号:
    #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 + -