📄 msg_dispatch.c
字号:
/*
* COPYRIGHT (c) Notifier 1993-2004, All Rights Reserved
*
* 描述: NIC CAN通讯信息分派任务
*
*
* 版本历史:
*
* 版本 作者 日期 修改内容
* 1.0 阙昊 2006-07-25 建立
* 1.01 阙昊 2006-09-01 包含文件名变化
* 1.1 阙昊 2006-09-13 根据新的协议进行修改
* 1.11 阙昊 2006-10-20 小修改
* 1.20 阙昊 2007-07-12 重写
*
*/
//==============================================================================
// 包含的头文件
//==============================================================================
// 标准库文件
#include <assert.h>
// 系统头文件
#include "system\sys_types.h"
#include "driver\drv_chn_lpc2xxx_can.h"
#include "library\lib_shell.h"
#include "library\lib_log.h"
#include "msg_dispatch.h"
//==============================================================================
// 本地宏及类型定义
//==============================================================================
#define MODULE "NET_DISPATCH"
//==============================================================================
// 内部变量定义
//==============================================================================
LogDesc g_logDescDispatch =
{
MODULE,
LOG_LEVEL_ALL_ON,
};
static LogDesc *sg_pLogDesc = &g_logDescDispatch;
INT8U GetMsgCtrl(
NWCAN_MSG *a_pCanMsg )
{
return (INT8U)(((a_pCanMsg -> MsgID) & MSG_CTRL_MASK) >> MSG_CTRL_OFFSET);
}
INT8U GetMsgPackageCnt(
NWCAN_MSG *a_pCanMsg )
{
return (INT8U)(((a_pCanMsg -> MsgID) & MSG_PACKAGE_CNT_MASK) >> MSG_PACKAGE_CNT_OFFSET);
}
INT8U GetMsgTxAddr(
NWCAN_MSG *a_pCanMsg )
{
return (INT8U)(((a_pCanMsg -> MsgID) & MSG_TX_ADDRESS_MASK) >> MSG_TX_ADDRESS_OFFSET);
}
INT8U GetMsgSrcAddr(
NWCAN_MSG *a_pCanMsg )
{
return (INT8U)(((a_pCanMsg -> MsgID) & MSG_SRC_ADDRESS_MASK) >> MSG_SRC_ADDRESS_OFFSET);
}
void SetMsgCtrl(
INT32U *a_canId,
INT8U a_MsgCtrl )
{
*a_canId = ((*a_canId) & ~(MSG_CTRL_MASK))|( (a_MsgCtrl << MSG_CTRL_OFFSET) & MSG_CTRL_MASK );
return;
}
void SetMsgPackageCnt(
INT32U *a_canId,
INT8U a_msgCnt )
{
*a_canId = ((*a_canId) & ~(MSG_PACKAGE_CNT_MASK))|( (a_msgCnt << MSG_PACKAGE_CNT_OFFSET) & MSG_PACKAGE_CNT_MASK );
return;
}
void SetMsgTxAddr(
INT32U *a_canId,
INT8U a_TxAddr )
{
*a_canId = ((*a_canId) & ~(MSG_TX_ADDRESS_MASK))|( (a_TxAddr << MSG_TX_ADDRESS_OFFSET) & MSG_TX_ADDRESS_MASK );
return;
}
void SetMsgSrcAddr(
INT32U *a_canId,
INT8U a_SrcAddr )
{
*a_canId = (*a_canId & ~(MSG_SRC_ADDRESS_MASK))|( (a_SrcAddr << MSG_SRC_ADDRESS_OFFSET) & MSG_SRC_ADDRESS_MASK );
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -