?? ican_define.h
字號:
#ifndef __ICAN_Define_H
#define __ICAN_Define_H
#include "config.h"
/**********iCAN Rev 1.01 命令定義******************
作者:張森
日期:2008年3月31日
*****************************************************/
/****************FuncID(功能碼)***********************/
#define write_port 0x01 //寫資源
#define read_port 0x02 //讀資源
#define slv_to_mas_trigger 0x03 //叢機主動發送數據
#define creat_cnet 0x04 //建立連接
#define del_cnet 0x05 //刪除連接
#define reset_sla 0x06 //復位從站
#define check_ID 0x07 //檢測MACID
#define err_cnet 0x0f //錯誤響應
/******************ACK(響應表示位)*******************/
#define iCAN_ACK_enable 0 //需要應答
#define iCAN_ACK_disable 1 //不需要應答
/*******************ErrID(異常響應碼)***************/
#define funcID_unexist 0x01 //功能碼不存在
#define res_unfound 0x02 //資源不存在
#define cmd_unsupport 0x03 //命令不支持
#define funcID_parameter_unsupport 0x04 //功能碼非法
#define cnet_unexist 0x05 //連接不存在
#define operate_impact 0x06 //操作無效
#define flag_err 0x07 //分段傳輸錯誤
#define ICAN_SLV_NUM 7 //定義從機數量
//#define ican_sla_Qsize 10 //
#define ican_sla_buf 70
/************************iCAN從站列表結構體*******************************
作者:張森
日期:2008年4月2日
**************************************************************************/
typedef struct tagiCANSLV
{
INT8U SlvID; //從站MacId
INT8U CycTime; //訪問間隔(10ms)
INT8U sla_status;//從機狀態 0未連接,當主機掃描首先連接,1連接正常,2從機方離線主機空間沒有釋放,3主機掃描時忽略此站,釋放資源
INT8U sla_timeover_cont; //超時計數器
INT8U DILen,*P_DILen; //從站數字量輸入長度(byte)
INT8U DOLen,*P_DOLen; //從站數字量輸出長度(byte)
INT8U AILen,*P_AILen; //從站模擬量輸入長度(byte)
INT8U AOLen,*P_AOLen; //從站模擬量輸出長度(byte)
INT8U BUF[ican_sla_buf]; //從站數據緩沖(byte)
}iCANSLV;
/************************iCAN設備描述信息********************************
作者:張森
日期:2008年3月31日
**************************************************************************/
typedef union ICAN_MESS_ID
{
INT32U ICAN_ID_32b; //字操作定義
struct _ICAN_
{
INT32U SourceID :8; //資源地址
INT32U FuncID :4; //功能碼
INT32U ACK :1; //響應請求
INT32U DestMACID :8; //目標ID
INT32U SrcMACID :8; //源ID
INT32U RSV_BIT3 :3;
}stcICAN;
}ICANmes,*P_ICANmes;
/************************iCAN從站結構體*******************************
作者:張森
日期:2008年4月8日
**************************************************************************/
typedef struct tagDEVICERCSR
{
INT8U DILen;
INT8U DOLen;
INT8U AILen;
INT8U AOLen;
INT8U U0Len;
INT8U U1Len;
INT8U RsvLen;
INT8U CfgLen;
INT8U *pDIData;
INT8U *pDOData;
INT8U *pAIData;
INT8U *pAOData;
INT8U *pU0Data;
INT8U *pU1Data;
INT8U *pRsvData;
INT8U *pCfgData;
}DEVICERCSR;
/*******************響應標志**********
作者:張森
日期:2008年4月8日
**************************************/
#define ican_read_OK (1)//讀ok
#define ican_write_OK (1<<1)//寫ok
#define ican_crt_cnet_ok (1<<2) //建立連接ok
#define ican_del_cnet_ok (1<<3)//刪除連接ok
#define ican_err_funID_unfound (1<<4)//1功能碼不支持 0x01
#define ican_err_sourID_unfound (1<<5)//2資源不存在 2
#define ican_err_cmd_unsupply (1<<6)//3命令不支持:從站在連接狀態,只讀時寫數據 3
#define ican_err_funID_err (1<<7)//4功能碼參數非法,格式不對,資源超出范圍 4
#define ican_err_cent_unfound (1<<8)//5連接不存在
#define ican_err_operate_impact (1<<9)//6操作無效(對于串口數據)
#define ican_err_flag_err (1<<10)//7分段錯誤
#define ican_id_exiet (1<<11)//id重復
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -