我现在遇到的问题是:远程客户端如何与家庭网关上运行的主监控程序相互通信呢?如果采用ASP网页技术,能过直接和监控程序之间通过网络通信吗?还是要通过其它接口,比如ActiveX,才能相互通信呢?
我查了很多资料和网站,也没能得到确切的答案,感觉憋屈得很!希望各位前辈或坛友不吝赐教,为在下指点迷津,在下一定感激不尽!
附注:之前刚刚在另一个板块发过求助帖,觉得在这里问好像更合适,望版主谅解!
6 个解决方案
#1
这个我们就是外人了
#2
其实现在最主要的就是ASP网页设计这一块,就是不知道能否使ASP和应用程序之间直接交互,而不用借助ActiveX或数据库这样的转接。
#3
/* PNP 机电部件节点数据结构 */
typedef struct
{
UINT8 ucChanNum; /* 通道号 */
UINT8 ucAddr; /* 通信地址 */
UINT8 ucLastOLState; /* 上次在位状态 */
UINT8 ucCurOLState; /* 当前在位状态 */
UINT8 ucIsResetFlag; /* 是否下发过复位标志 */
UINT8 ucQueryTimes; /* 复位后连续轮询次数 */
UINT8 ucIsConfig; /* 是否有配置 */
UINT8 ucTransFlag; /* 转发标志 */
UINT8 ucQueryFlag; /* 查询标志 */
UINT8 ucReserved2; /* 预留2 */
UINT8 ucReserved3; /* 预留3 */
UINT8 ucReserved4; /* 预留4 */
BOARD_TYPE enMainType; /* 部件大类型 */
UINT32 ulSubType; /* 部件子类型 */
UINT32 ulTransCmdErrCnt; /* 转发命令错误计数*/
CCU_NODE_STATE enRegState; /* 注册状态 */
CCU_RSP_DATA stRegInfo; /* 注册过程中注册请求响应数据 */
CCU_RSP_DATA stVerInfo; /* 注册过程中版本信息响应数据 */
CCU_COUNT_STRU stCountInfo; /* PNP功能中相关计数信息 */
} PNP_485NODE, *PPNP_485NODE;
/* 上报的485机电注册信息数据域 */
typedef struct
{
UINT16 uwCmd01Len; /* 0xXX, 0x01 */
UINT16 uwCmd02Len; /* 0xXX, 0x02 */
UINT8 *pucCmd01Buf; /* 01数据域, 响应完成码后开始,不包括校验 */
UINT8 *pucmd02Buf; /* 02数据域, 响应完成码后开始,不包括校验 */
}RS485_RegInfoT, *PRS485_RegInfoT;
/* 透传消息结构体 */
typedef struct
{
UINT8 ucChanNum; /* 消息通道号 */
UINT16 uwLen; /* 消息长度 */
UINT8 ucData[MAX_485_DATA_LEN]; /* 消息指针 */
} Direct485MsgT, *PDirect485MsgT;
typedef struct
{
UINT8 ucChanNum; /* 通道号 */
UINT8 ucAddr; /* 通信地址 */
UINT8 ucLastOLState; /* 上次在位状态 */
UINT8 ucCurOLState; /* 当前在位状态 */
UINT8 ucIsResetFlag; /* 是否下发过复位标志 */
UINT8 ucQueryTimes; /* 复位后连续轮询次数 */
UINT8 ucIsConfig; /* 是否有配置 */
UINT8 ucTransFlag; /* 转发标志 */
UINT8 ucQueryFlag; /* 查询标志 */
UINT8 ucReserved2; /* 预留2 */
UINT8 ucReserved3; /* 预留3 */
UINT8 ucReserved4; /* 预留4 */
BOARD_TYPE enMainType; /* 部件大类型 */
UINT32 ulSubType; /* 部件子类型 */
UINT32 ulTransCmdErrCnt; /* 转发命令错误计数*/
CCU_NODE_STATE enRegState; /* 注册状态 */
CCU_RSP_DATA stRegInfo; /* 注册过程中注册请求响应数据 */
CCU_RSP_DATA stVerInfo; /* 注册过程中版本信息响应数据 */
CCU_COUNT_STRU stCountInfo; /* PNP功能中相关计数信息 */
} PNP_485NODE, *PPNP_485NODE;
/* 上报的485机电注册信息数据域 */
typedef struct
{
UINT16 uwCmd01Len; /* 0xXX, 0x01 */
UINT16 uwCmd02Len; /* 0xXX, 0x02 */
UINT8 *pucCmd01Buf; /* 01数据域, 响应完成码后开始,不包括校验 */
UINT8 *pucmd02Buf; /* 02数据域, 响应完成码后开始,不包括校验 */
}RS485_RegInfoT, *PRS485_RegInfoT;
/* 透传消息结构体 */
typedef struct
{
UINT8 ucChanNum; /* 消息通道号 */
UINT16 uwLen; /* 消息长度 */
UINT8 ucData[MAX_485_DATA_LEN]; /* 消息指针 */
} Direct485MsgT, *PDirect485MsgT;
#4
/* 透传消息发送单元数据结构定义 */
typedef struct
{
UINT8 ucIsUsed; /* 消息是否下发 */
UINT8 ucMsgType; /* 消息类型, 目前只支持485类型消息 */
UINT8 ucRptMode; /* 消息上报的方式 */
UINT8 reserved1; /* reserved */
UINT16 uwCmd; /* 命令字 */
UINT16 uwDTMsgSeq; /* 透传命令序列号 */
UINT16 uwPNPMsgSeq; /* PNP消息序列号 */
UINT32 ulTimeCnt; /* 超时计数 */
UINT32 ulResId; /* 资源ID */
}DIRECT_MSG_CB_T, *PDIRECT_MSG_CB_T;
/* 透传消息发送控制单元结构体定义 */
typedef struct
{
UINT8 ucTabMsgSize; /* 本单元消息个数 */
UINT8 ucReserved0; /* reserved */
UINT8 ucReserved1; /* reserved */
UINT8 ucReserved2; /* reserved */
PDIRECT_MSG_CB_T pstDtMsgTab; /* 透传消息体 */
}DIRECT_MSG_TAB_T, *PDIRECT_MSG_TAB_T;
/* 子卡状态数据结构 */
typedef struct
{
UINT8 m_ucOnlineState;
UINT8 m_ucType;
UINT8 ucOnLineCnt;
UINT8 ucOffLineCnt;
UINT8 ucTypeCnt;
UINT8 ucTypeErrCnt;
UINT8 ucCfgType;
UINT8 ucIsCfg;
UINT8 ucConflictAlarm;
UINT8 ucCommAlarm;
UINT8 ucI2CErrCnt;
UINT8 ucReserve0;
}CARD_STATE_TAB_T, *PCARD_STATE_TAB_T;
typedef struct
{
UINT8 ucIsUsed; /* 消息是否下发 */
UINT8 ucMsgType; /* 消息类型, 目前只支持485类型消息 */
UINT8 ucRptMode; /* 消息上报的方式 */
UINT8 reserved1; /* reserved */
UINT16 uwCmd; /* 命令字 */
UINT16 uwDTMsgSeq; /* 透传命令序列号 */
UINT16 uwPNPMsgSeq; /* PNP消息序列号 */
UINT32 ulTimeCnt; /* 超时计数 */
UINT32 ulResId; /* 资源ID */
}DIRECT_MSG_CB_T, *PDIRECT_MSG_CB_T;
/* 透传消息发送控制单元结构体定义 */
typedef struct
{
UINT8 ucTabMsgSize; /* 本单元消息个数 */
UINT8 ucReserved0; /* reserved */
UINT8 ucReserved1; /* reserved */
UINT8 ucReserved2; /* reserved */
PDIRECT_MSG_CB_T pstDtMsgTab; /* 透传消息体 */
}DIRECT_MSG_TAB_T, *PDIRECT_MSG_TAB_T;
/* 子卡状态数据结构 */
typedef struct
{
UINT8 m_ucOnlineState;
UINT8 m_ucType;
UINT8 ucOnLineCnt;
UINT8 ucOffLineCnt;
UINT8 ucTypeCnt;
UINT8 ucTypeErrCnt;
UINT8 ucCfgType;
UINT8 ucIsCfg;
UINT8 ucConflictAlarm;
UINT8 ucCommAlarm;
UINT8 ucI2CErrCnt;
UINT8 ucReserve0;
}CARD_STATE_TAB_T, *PCARD_STATE_TAB_T;
#5
/* 广播消息结构体 */
extern CCU485_BROADCASTCMDT g_stBroadcast[MAX_CCU_CHAN_NUM];
/* 子卡在位维护结构体 */
extern CARD_STATE_TAB_T g_stCardState[MAX_INSIDE_CARD_NUM];
typedef INT32 (*EVENT_RECV_FUNC)(UINT32 ulResId, PNP_EVENT_ID_ENUM enEventId, UINT8 *pucBuf, UINT32 ulLen);
typedef INT32 (*MSG_RECV_FUNC)(UINT32 ulResId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 初始化透传表 */extern UINT32 InitDtMsgTxTab(VOID);
/* 初始化card扫描接口 */extern VOID InitCardPnp(VOID);
/* 初始化PNP模块接口 */extern UINT32 PNP_InitPnPModule(VOID);
/* 透传扫描接口 */extern VOID ScanDtTxTab(VOID);
/* 地址轮询消息处理 */extern UINT32 PNP_AddrQueryProc(PCCU_MSG_FRAME pMsg);
/* 链路保持消息处理 */extern VOID PNP_LinkKeepProc(PCCU_MSG_FRAME pMsg);
/* 地址自动分配消息处理 */extern UINT32 PNP_AddrAutoAllotProc(PPNP_485NODE pNode);
/* 发送定时消息到485通道接口 */
extern UINT32 PNP_SendTimerMsg(UINT8 ucChan, PCCU_QUEUE_MSG pstMsg, UINT16 uwMsgLen, CCU_TIMER_MSG_ENUM enMsgType);
/* 广播命令 */extern VOID PNP_BroadCast(PCCU_MSG_FRAME pstMsg);
/* 处理API命令 */extern VOID PNP_ProcApiMsg (PCCU_MSG_FRAME pMsg);
/* 注册事件上报回调接口 */extern UINT32 PNP_RegEventReportCB(EVENT_RECV_FUNC pFunc);
/* 消息上报注册回调接口 */extern UINT32 PNP_RegMsgReportCB(MSG_RECV_FUNC pFunc);
/* 下发PNP消息接口 */
extern UINT32 PnP_SendMsg(UINT32 ulResouceId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 下发PNP消息到CCU接口 */
extern UINT32 PnP_Send2CCU(UINT8 ucNetFn, UINT16 uwCmd, UINT8 *pucBuf, UINT32 ulLen);
extern VOID ProcSerialLoopMsg(PCCU_MSG_FRAME pMsg);
#endif /* __CCU_PNP_H__ */
extern CCU485_BROADCASTCMDT g_stBroadcast[MAX_CCU_CHAN_NUM];
/* 子卡在位维护结构体 */
extern CARD_STATE_TAB_T g_stCardState[MAX_INSIDE_CARD_NUM];
typedef INT32 (*EVENT_RECV_FUNC)(UINT32 ulResId, PNP_EVENT_ID_ENUM enEventId, UINT8 *pucBuf, UINT32 ulLen);
typedef INT32 (*MSG_RECV_FUNC)(UINT32 ulResId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 初始化透传表 */extern UINT32 InitDtMsgTxTab(VOID);
/* 初始化card扫描接口 */extern VOID InitCardPnp(VOID);
/* 初始化PNP模块接口 */extern UINT32 PNP_InitPnPModule(VOID);
/* 透传扫描接口 */extern VOID ScanDtTxTab(VOID);
/* 地址轮询消息处理 */extern UINT32 PNP_AddrQueryProc(PCCU_MSG_FRAME pMsg);
/* 链路保持消息处理 */extern VOID PNP_LinkKeepProc(PCCU_MSG_FRAME pMsg);
/* 地址自动分配消息处理 */extern UINT32 PNP_AddrAutoAllotProc(PPNP_485NODE pNode);
/* 发送定时消息到485通道接口 */
extern UINT32 PNP_SendTimerMsg(UINT8 ucChan, PCCU_QUEUE_MSG pstMsg, UINT16 uwMsgLen, CCU_TIMER_MSG_ENUM enMsgType);
/* 广播命令 */extern VOID PNP_BroadCast(PCCU_MSG_FRAME pstMsg);
/* 处理API命令 */extern VOID PNP_ProcApiMsg (PCCU_MSG_FRAME pMsg);
/* 注册事件上报回调接口 */extern UINT32 PNP_RegEventReportCB(EVENT_RECV_FUNC pFunc);
/* 消息上报注册回调接口 */extern UINT32 PNP_RegMsgReportCB(MSG_RECV_FUNC pFunc);
/* 下发PNP消息接口 */
extern UINT32 PnP_SendMsg(UINT32 ulResouceId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 下发PNP消息到CCU接口 */
extern UINT32 PnP_Send2CCU(UINT8 ucNetFn, UINT16 uwCmd, UINT8 *pucBuf, UINT32 ulLen);
extern VOID ProcSerialLoopMsg(PCCU_MSG_FRAME pMsg);
#endif /* __CCU_PNP_H__ */
#6
我觉得要有接口, asp显然不能简单实现.
#1
这个我们就是外人了
#2
其实现在最主要的就是ASP网页设计这一块,就是不知道能否使ASP和应用程序之间直接交互,而不用借助ActiveX或数据库这样的转接。
#3
/* PNP 机电部件节点数据结构 */
typedef struct
{
UINT8 ucChanNum; /* 通道号 */
UINT8 ucAddr; /* 通信地址 */
UINT8 ucLastOLState; /* 上次在位状态 */
UINT8 ucCurOLState; /* 当前在位状态 */
UINT8 ucIsResetFlag; /* 是否下发过复位标志 */
UINT8 ucQueryTimes; /* 复位后连续轮询次数 */
UINT8 ucIsConfig; /* 是否有配置 */
UINT8 ucTransFlag; /* 转发标志 */
UINT8 ucQueryFlag; /* 查询标志 */
UINT8 ucReserved2; /* 预留2 */
UINT8 ucReserved3; /* 预留3 */
UINT8 ucReserved4; /* 预留4 */
BOARD_TYPE enMainType; /* 部件大类型 */
UINT32 ulSubType; /* 部件子类型 */
UINT32 ulTransCmdErrCnt; /* 转发命令错误计数*/
CCU_NODE_STATE enRegState; /* 注册状态 */
CCU_RSP_DATA stRegInfo; /* 注册过程中注册请求响应数据 */
CCU_RSP_DATA stVerInfo; /* 注册过程中版本信息响应数据 */
CCU_COUNT_STRU stCountInfo; /* PNP功能中相关计数信息 */
} PNP_485NODE, *PPNP_485NODE;
/* 上报的485机电注册信息数据域 */
typedef struct
{
UINT16 uwCmd01Len; /* 0xXX, 0x01 */
UINT16 uwCmd02Len; /* 0xXX, 0x02 */
UINT8 *pucCmd01Buf; /* 01数据域, 响应完成码后开始,不包括校验 */
UINT8 *pucmd02Buf; /* 02数据域, 响应完成码后开始,不包括校验 */
}RS485_RegInfoT, *PRS485_RegInfoT;
/* 透传消息结构体 */
typedef struct
{
UINT8 ucChanNum; /* 消息通道号 */
UINT16 uwLen; /* 消息长度 */
UINT8 ucData[MAX_485_DATA_LEN]; /* 消息指针 */
} Direct485MsgT, *PDirect485MsgT;
typedef struct
{
UINT8 ucChanNum; /* 通道号 */
UINT8 ucAddr; /* 通信地址 */
UINT8 ucLastOLState; /* 上次在位状态 */
UINT8 ucCurOLState; /* 当前在位状态 */
UINT8 ucIsResetFlag; /* 是否下发过复位标志 */
UINT8 ucQueryTimes; /* 复位后连续轮询次数 */
UINT8 ucIsConfig; /* 是否有配置 */
UINT8 ucTransFlag; /* 转发标志 */
UINT8 ucQueryFlag; /* 查询标志 */
UINT8 ucReserved2; /* 预留2 */
UINT8 ucReserved3; /* 预留3 */
UINT8 ucReserved4; /* 预留4 */
BOARD_TYPE enMainType; /* 部件大类型 */
UINT32 ulSubType; /* 部件子类型 */
UINT32 ulTransCmdErrCnt; /* 转发命令错误计数*/
CCU_NODE_STATE enRegState; /* 注册状态 */
CCU_RSP_DATA stRegInfo; /* 注册过程中注册请求响应数据 */
CCU_RSP_DATA stVerInfo; /* 注册过程中版本信息响应数据 */
CCU_COUNT_STRU stCountInfo; /* PNP功能中相关计数信息 */
} PNP_485NODE, *PPNP_485NODE;
/* 上报的485机电注册信息数据域 */
typedef struct
{
UINT16 uwCmd01Len; /* 0xXX, 0x01 */
UINT16 uwCmd02Len; /* 0xXX, 0x02 */
UINT8 *pucCmd01Buf; /* 01数据域, 响应完成码后开始,不包括校验 */
UINT8 *pucmd02Buf; /* 02数据域, 响应完成码后开始,不包括校验 */
}RS485_RegInfoT, *PRS485_RegInfoT;
/* 透传消息结构体 */
typedef struct
{
UINT8 ucChanNum; /* 消息通道号 */
UINT16 uwLen; /* 消息长度 */
UINT8 ucData[MAX_485_DATA_LEN]; /* 消息指针 */
} Direct485MsgT, *PDirect485MsgT;
#4
/* 透传消息发送单元数据结构定义 */
typedef struct
{
UINT8 ucIsUsed; /* 消息是否下发 */
UINT8 ucMsgType; /* 消息类型, 目前只支持485类型消息 */
UINT8 ucRptMode; /* 消息上报的方式 */
UINT8 reserved1; /* reserved */
UINT16 uwCmd; /* 命令字 */
UINT16 uwDTMsgSeq; /* 透传命令序列号 */
UINT16 uwPNPMsgSeq; /* PNP消息序列号 */
UINT32 ulTimeCnt; /* 超时计数 */
UINT32 ulResId; /* 资源ID */
}DIRECT_MSG_CB_T, *PDIRECT_MSG_CB_T;
/* 透传消息发送控制单元结构体定义 */
typedef struct
{
UINT8 ucTabMsgSize; /* 本单元消息个数 */
UINT8 ucReserved0; /* reserved */
UINT8 ucReserved1; /* reserved */
UINT8 ucReserved2; /* reserved */
PDIRECT_MSG_CB_T pstDtMsgTab; /* 透传消息体 */
}DIRECT_MSG_TAB_T, *PDIRECT_MSG_TAB_T;
/* 子卡状态数据结构 */
typedef struct
{
UINT8 m_ucOnlineState;
UINT8 m_ucType;
UINT8 ucOnLineCnt;
UINT8 ucOffLineCnt;
UINT8 ucTypeCnt;
UINT8 ucTypeErrCnt;
UINT8 ucCfgType;
UINT8 ucIsCfg;
UINT8 ucConflictAlarm;
UINT8 ucCommAlarm;
UINT8 ucI2CErrCnt;
UINT8 ucReserve0;
}CARD_STATE_TAB_T, *PCARD_STATE_TAB_T;
typedef struct
{
UINT8 ucIsUsed; /* 消息是否下发 */
UINT8 ucMsgType; /* 消息类型, 目前只支持485类型消息 */
UINT8 ucRptMode; /* 消息上报的方式 */
UINT8 reserved1; /* reserved */
UINT16 uwCmd; /* 命令字 */
UINT16 uwDTMsgSeq; /* 透传命令序列号 */
UINT16 uwPNPMsgSeq; /* PNP消息序列号 */
UINT32 ulTimeCnt; /* 超时计数 */
UINT32 ulResId; /* 资源ID */
}DIRECT_MSG_CB_T, *PDIRECT_MSG_CB_T;
/* 透传消息发送控制单元结构体定义 */
typedef struct
{
UINT8 ucTabMsgSize; /* 本单元消息个数 */
UINT8 ucReserved0; /* reserved */
UINT8 ucReserved1; /* reserved */
UINT8 ucReserved2; /* reserved */
PDIRECT_MSG_CB_T pstDtMsgTab; /* 透传消息体 */
}DIRECT_MSG_TAB_T, *PDIRECT_MSG_TAB_T;
/* 子卡状态数据结构 */
typedef struct
{
UINT8 m_ucOnlineState;
UINT8 m_ucType;
UINT8 ucOnLineCnt;
UINT8 ucOffLineCnt;
UINT8 ucTypeCnt;
UINT8 ucTypeErrCnt;
UINT8 ucCfgType;
UINT8 ucIsCfg;
UINT8 ucConflictAlarm;
UINT8 ucCommAlarm;
UINT8 ucI2CErrCnt;
UINT8 ucReserve0;
}CARD_STATE_TAB_T, *PCARD_STATE_TAB_T;
#5
/* 广播消息结构体 */
extern CCU485_BROADCASTCMDT g_stBroadcast[MAX_CCU_CHAN_NUM];
/* 子卡在位维护结构体 */
extern CARD_STATE_TAB_T g_stCardState[MAX_INSIDE_CARD_NUM];
typedef INT32 (*EVENT_RECV_FUNC)(UINT32 ulResId, PNP_EVENT_ID_ENUM enEventId, UINT8 *pucBuf, UINT32 ulLen);
typedef INT32 (*MSG_RECV_FUNC)(UINT32 ulResId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 初始化透传表 */extern UINT32 InitDtMsgTxTab(VOID);
/* 初始化card扫描接口 */extern VOID InitCardPnp(VOID);
/* 初始化PNP模块接口 */extern UINT32 PNP_InitPnPModule(VOID);
/* 透传扫描接口 */extern VOID ScanDtTxTab(VOID);
/* 地址轮询消息处理 */extern UINT32 PNP_AddrQueryProc(PCCU_MSG_FRAME pMsg);
/* 链路保持消息处理 */extern VOID PNP_LinkKeepProc(PCCU_MSG_FRAME pMsg);
/* 地址自动分配消息处理 */extern UINT32 PNP_AddrAutoAllotProc(PPNP_485NODE pNode);
/* 发送定时消息到485通道接口 */
extern UINT32 PNP_SendTimerMsg(UINT8 ucChan, PCCU_QUEUE_MSG pstMsg, UINT16 uwMsgLen, CCU_TIMER_MSG_ENUM enMsgType);
/* 广播命令 */extern VOID PNP_BroadCast(PCCU_MSG_FRAME pstMsg);
/* 处理API命令 */extern VOID PNP_ProcApiMsg (PCCU_MSG_FRAME pMsg);
/* 注册事件上报回调接口 */extern UINT32 PNP_RegEventReportCB(EVENT_RECV_FUNC pFunc);
/* 消息上报注册回调接口 */extern UINT32 PNP_RegMsgReportCB(MSG_RECV_FUNC pFunc);
/* 下发PNP消息接口 */
extern UINT32 PnP_SendMsg(UINT32 ulResouceId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 下发PNP消息到CCU接口 */
extern UINT32 PnP_Send2CCU(UINT8 ucNetFn, UINT16 uwCmd, UINT8 *pucBuf, UINT32 ulLen);
extern VOID ProcSerialLoopMsg(PCCU_MSG_FRAME pMsg);
#endif /* __CCU_PNP_H__ */
extern CCU485_BROADCASTCMDT g_stBroadcast[MAX_CCU_CHAN_NUM];
/* 子卡在位维护结构体 */
extern CARD_STATE_TAB_T g_stCardState[MAX_INSIDE_CARD_NUM];
typedef INT32 (*EVENT_RECV_FUNC)(UINT32 ulResId, PNP_EVENT_ID_ENUM enEventId, UINT8 *pucBuf, UINT32 ulLen);
typedef INT32 (*MSG_RECV_FUNC)(UINT32 ulResId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 初始化透传表 */extern UINT32 InitDtMsgTxTab(VOID);
/* 初始化card扫描接口 */extern VOID InitCardPnp(VOID);
/* 初始化PNP模块接口 */extern UINT32 PNP_InitPnPModule(VOID);
/* 透传扫描接口 */extern VOID ScanDtTxTab(VOID);
/* 地址轮询消息处理 */extern UINT32 PNP_AddrQueryProc(PCCU_MSG_FRAME pMsg);
/* 链路保持消息处理 */extern VOID PNP_LinkKeepProc(PCCU_MSG_FRAME pMsg);
/* 地址自动分配消息处理 */extern UINT32 PNP_AddrAutoAllotProc(PPNP_485NODE pNode);
/* 发送定时消息到485通道接口 */
extern UINT32 PNP_SendTimerMsg(UINT8 ucChan, PCCU_QUEUE_MSG pstMsg, UINT16 uwMsgLen, CCU_TIMER_MSG_ENUM enMsgType);
/* 广播命令 */extern VOID PNP_BroadCast(PCCU_MSG_FRAME pstMsg);
/* 处理API命令 */extern VOID PNP_ProcApiMsg (PCCU_MSG_FRAME pMsg);
/* 注册事件上报回调接口 */extern UINT32 PNP_RegEventReportCB(EVENT_RECV_FUNC pFunc);
/* 消息上报注册回调接口 */extern UINT32 PNP_RegMsgReportCB(MSG_RECV_FUNC pFunc);
/* 下发PNP消息接口 */
extern UINT32 PnP_SendMsg(UINT32 ulResouceId, UINT16 uwCmd, UINT16 uwSeq, UINT8 *pucBuf, UINT32 ulLen);
/* 下发PNP消息到CCU接口 */
extern UINT32 PnP_Send2CCU(UINT8 ucNetFn, UINT16 uwCmd, UINT8 *pucBuf, UINT32 ulLen);
extern VOID ProcSerialLoopMsg(PCCU_MSG_FRAME pMsg);
#endif /* __CCU_PNP_H__ */
#6
我觉得要有接口, asp显然不能简单实现.