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

📄 lin_signals.c

📁 此程序为DP256的SPI实验程序,已经通过实验证明
💻 C
📖 第 1 页 / 共 5 页
字号:
#define  LIN_SIGNAL_GLOBALS
#include "LIN_Header.h"

//#if LIN_NODE_SEL   ==  LIN_NODE_FR Functions definitions.
#if LIN_NODE_SEL   ==  LIN_NODE_FR
#if SIGNAL_CMD_HEADLIGHT_EN                   ==1
/********************************************************************
   函数名称:  CMD_Headlight_RD
   功能描述:  从接收缓冲区读取信号CMD_Headlight
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:24
   更改原因:   版本更新,去掉多余代码,减少编译警告
   更改内容:   
              当余数为0时不在执行移位操作
   输入:       无
   输出:       varReturn
   注:
       信号CMD_Headlight位于数据帧组合开关数据帧(ID = 0x10)第 9位到第10位
********************************************************************/

L_U8 CMD_Headlight_RD(void)
{
    L_U8   varReturn;
    varReturn   = LIN_RX_Buf[1];
    varReturn   = (varReturn & 0x03);
    return varReturn;
}

/********************************************************************
   函数名称:  CMD_Headlight_WR
   功能描述:  将信号 CMD_Headlight写入到发送缓冲区中
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:24
   更改原因:   
       1. 版本更新,去掉多余代码,减少编译警告
       2. Bug Fixed。
   更改内容:   
       1. 当余数为0时不在执行移位操作
       2. 1 Bits Signal WR Bug fixed
   输入:       无
   输出:       无
   注:
       信号CMD_Headlight位于数据帧组合开关数据帧(ID = 0x10)第 9位到第10位
********************************************************************/

void  CMD_Headlight_WR(void)
{
    L_U8    uBuf;
    L_U8    uMask;
    uBuf    = (CMD_Headlight & 0x03);
    uMask      = 0x03;
    LIN_TX_Buf[1] &= ~uMask;
    LIN_TX_Buf[1] |= uBuf;
    return ;
}
#endif

#if SIGNAL_CMD_DIPPEDHEADLIGHT_EN             ==1
/********************************************************************
   函数名称:  CMD_DippedHeadlight_RD
   功能描述:  从接收缓冲区读取信号CMD_DippedHeadlight
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:24
   更改原因:   版本更新,去掉多余代码,减少编译警告
   更改内容:   
              当余数为0时不在执行移位操作
   输入:       无
   输出:       varReturn
   注:
       信号CMD_DippedHeadlight位于数据帧组合开关数据帧(ID = 0x10)第 11位到第12位
********************************************************************/

L_U8 CMD_DippedHeadlight_RD(void)
{
    L_U8   varReturn;
    varReturn   = LIN_RX_Buf[1];
    varReturn   = (varReturn >> 2);
    varReturn   = (varReturn & 0x03);
    return varReturn;
}

/********************************************************************
   函数名称:  CMD_DippedHeadlight_WR
   功能描述:  将信号 CMD_DippedHeadlight写入到发送缓冲区中
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:24
   更改原因:   
       1. 版本更新,去掉多余代码,减少编译警告
       2. Bug Fixed。
   更改内容:   
       1. 当余数为0时不在执行移位操作
       2. 1 Bits Signal WR Bug fixed
   输入:       无
   输出:       无
   注:
       信号CMD_DippedHeadlight位于数据帧组合开关数据帧(ID = 0x10)第 11位到第12位
********************************************************************/

void  CMD_DippedHeadlight_WR(void)
{
    L_U8    uBuf;
    L_U8    uMask;
    uBuf    = (CMD_DippedHeadlight & 0x03);
    uMask      = 0x03;
    uMask      = (uMask << 2);
    uBuf    = (uBuf << 2);
    LIN_TX_Buf[1] &= ~uMask;
    LIN_TX_Buf[1] |= uBuf;
    return ;
}
#endif

#if SIGNAL_CMD_LITTLELAMP_EN                  ==1
/********************************************************************
   函数名称:  CMD_LittleLamp_RD
   功能描述:  从接收缓冲区读取信号CMD_LittleLamp
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:24
   更改原因:   版本更新,去掉多余代码,减少编译警告
   更改内容:   
              当余数为0时不在执行移位操作
   输入:       无
   输出:       varReturn
   注:
       信号CMD_LittleLamp位于数据帧组合开关数据帧(ID = 0x10)第 13位到第14位
********************************************************************/

L_U8 CMD_LittleLamp_RD(void)
{
    L_U8   varReturn;
    varReturn   = LIN_RX_Buf[1];
    varReturn   = (varReturn >> 4);
    varReturn   = (varReturn & 0x03);
    return varReturn;
}

/********************************************************************
   函数名称:  CMD_LittleLamp_WR
   功能描述:  将信号 CMD_LittleLamp写入到发送缓冲区中
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:24
   更改原因:   
       1. 版本更新,去掉多余代码,减少编译警告
       2. Bug Fixed。
   更改内容:   
       1. 当余数为0时不在执行移位操作
       2. 1 Bits Signal WR Bug fixed
   输入:       无
   输出:       无
   注:
       信号CMD_LittleLamp位于数据帧组合开关数据帧(ID = 0x10)第 13位到第14位
********************************************************************/

void  CMD_LittleLamp_WR(void)
{
    L_U8    uBuf;
    L_U8    uMask;
    uBuf    = (CMD_LittleLamp & 0x03);
    uMask      = 0x03;
    uMask      = (uMask << 4);
    uBuf    = (uBuf << 4);
    LIN_TX_Buf[1] &= ~uMask;
    LIN_TX_Buf[1] |= uBuf;
    return ;
}
#endif


/********************************************************************
   函数名称:  FRM_C_Encode(void);
   功能描述:  将组合开关数据帧(FRM_C)解包函数
   创建人:    王俊鹏
   创建日期:  2005年2月2日
   更改日期:  2005-7-17,11:41:24
   更改原因:   
   更改内容:   基本功能实现
   输入:       
   输出:       无
********************************************************************/

void FRM_C_Decode(void)
{
    #if SIGNAL_CMD_HEADLIGHT_EN                   ==1
        CMD_Headlight           = CMD_Headlight_RD();//信号:  远光灯命令
    #endif

    #if SIGNAL_CMD_DIPPEDHEADLIGHT_EN             ==1
        CMD_DippedHeadlight     = CMD_DippedHeadlight_RD();//信号:  近光灯命令
    #endif

    #if SIGNAL_CMD_LITTLELAMP_EN                  ==1
        CMD_LittleLamp          = CMD_LittleLamp_RD();//信号:  小灯命令
    #endif

}

/********************************************************************
   函数名称:  FRM_C_Encode(void);
   功能描述:  将组合开关数据帧(FRM_C)打包函数
   创建人:    王俊鹏
   创建日期:  2005年2月2日
   更改日期:  2005-7-17,11:41:24
   更改原因:   
   更改内容:   基本功能实现
   输入:       
   输出:       无
********************************************************************/

void FRM_C_Encode(void)
{
    #if SIGNAL_CMD_HEADLIGHT_EN                   ==1
        CMD_Headlight_WR();//信号:  远光灯命令
    #endif

    #if SIGNAL_CMD_DIPPEDHEADLIGHT_EN             ==1
        CMD_DippedHeadlight_WR();//信号:  近光灯命令
    #endif

    #if SIGNAL_CMD_LITTLELAMP_EN                  ==1
        CMD_LittleLamp_WR();//信号:  小灯命令
    #endif

}

void Msg_10_Decode(void)
{
    FRM_C_Decode();
}

void Msg_10_Encode(void)
{
    FRM_C_Encode();
}

/********************************************************************
   函数名称:  Msg_10_Signals_Init(void);
   功能描述:  将组合开关数据帧(FRM_C)包含的信号进行初始化
   创建人:    王俊鹏
   创建日期:  2005年3月3日
   更改日期:  2005-7-17,11:41:24
   更改原因:   
   更改内容:   基本功能实现
   输入:       
   输出:       无
********************************************************************/

    void Msg_10_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_HEADLIGHT_EN                   ==1
        CMD_Headlight = 0xff;
    #endif

    #if SIGNAL_CMD_DIPPEDHEADLIGHT_EN             ==1
        CMD_DippedHeadlight = 0xff;
    #endif

    #if SIGNAL_CMD_LITTLELAMP_EN                  ==1
        CMD_LittleLamp = 0xff;
    #endif

}

#if SIGNAL_CMD_FRONTLAMP_EN                   ==1
/********************************************************************
   函数名称:  CMD_FrontLamp_RD
   功能描述:  从接收缓冲区读取信号CMD_FrontLamp
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:25
   更改原因:   版本更新,去掉多余代码,减少编译警告
   更改内容:   
              当余数为0时不在执行移位操作
   输入:       无
   输出:       varReturn
   注:
       信号CMD_FrontLamp位于数据帧分立开关数据帧(ID = 0x10)第 19位到第20位
********************************************************************/

L_U8 CMD_FrontLamp_RD(void)
{
    L_U8   varReturn;
    varReturn   = LIN_RX_Buf[2];
    varReturn   = (varReturn >> 2);
    varReturn   = (varReturn & 0x03);
    return varReturn;
}

/********************************************************************
   函数名称:  CMD_FrontLamp_WR
   功能描述:  将信号 CMD_FrontLamp写入到发送缓冲区中
   创建人:    王俊鹏
   创建日期:  2005年1月10日
   更改日期:  2005-7-17,11:41:25
   更改原因:   
       1. 版本更新,去掉多余代码,减少编译警告
       2. Bug Fixed。
   更改内容:   
       1. 当余数为0时不在执行移位操作
       2. 1 Bits Signal WR Bug fixed
   输入:       无
   输出:       无
   注:
       信号CMD_FrontLamp位于数据帧分立开关数据帧(ID = 0x11)第 19位到第20位
********************************************************************/

void  CMD_FrontLamp_WR(void)
{
    L_U8    uBuf;
    L_U8    uMask;
    uBuf    = (CMD_FrontLamp & 0x03);
    uMask      = 0x03;
    uMask      = (uMask << 2);
    uBuf    = (uBuf << 2);
    LIN_TX_Buf[2] &= ~uMask;
    LIN_TX_Buf[2] |= uBuf;
    return ;
}
#endif


/********************************************************************
   函数名称:  FRM_D_Encode(void);
   功能描述:  将分立开关数据帧(FRM_D)解包函数
   创建人:    王俊鹏
   创建日期:  2005年2月2日
   更改日期:  2005-7-17,11:41:25
   更改原因:   
   更改内容:   基本功能实现
   输入:       
   输出:       无
********************************************************************/

void FRM_D_Decode(void)
{
    #if SIGNAL_CMD_FRONTLAMP_EN                   ==1
        CMD_FrontLamp           = CMD_FrontLamp_RD();//信号:  前雾灯命令
    #endif

}

/********************************************************************
   函数名称:  FRM_D_Encode(void);
   功能描述:  将分立开关数据帧(FRM_D)打包函数
   创建人:    王俊鹏
   创建日期:  2005年2月2日
   更改日期:  2005-7-17,11:41:25
   更改原因:   
   更改内容:   基本功能实现
   输入:       
   输出:       无
********************************************************************/

void FRM_D_Encode(void)
{
    #if SIGNAL_CMD_FRONTLAMP_EN                   ==1
        CMD_FrontLamp_WR();//信号:  前雾灯命令
    #endif

}

void Msg_11_Decode(void)
{
    FRM_D_Decode();
}

void Msg_11_Encode(void)
{
    FRM_D_Encode();
}

/********************************************************************
   函数名称:  Msg_11_Signals_Init(void);
   功能描述:  将分立开关数据帧(FRM_D)包含的信号进行初始化
   创建人:    王俊鹏
   创建日期:  2005年3月3日
   更改日期:  2005-7-17,11:41:25
   更改原因:   
   更改内容:   基本功能实现
   输入:       
   输出:       无
********************************************************************/

    void Msg_11_Init_Signals(void)
{
    LIN_RX_Buf[0] = 0xff;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -