RS232串行口CAN总线转换器:CAN232使用手册.

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PCI非智能卡函数使用说明

--for Windows 95/98/2000

Pcicandrv.LIB - CAN总线函数库(适用于Windows 95/98/2000):1.自定义数据结构说明

1.1 PORT_STRUCT 结构定义

PORT_STRUCT结构:定义读取的PCI板卡

typedef struct _tagPORT_STRUCT

{

BYTE card; // index of card(start from 0)

BYTE value; // for some particular use

} PORT_STRUCT;

成员变量说明:

card:表示读取哪一个PCI非智能卡,基值必须从0开始;

value:为将来功能的扩展预留;

1.2 PORT_CONFIG 结构定义

PORT_CONFIG结构: 配置PCI非智能卡的工作方式、ID和波特率

typedef struct _tag PORT_CONFIG

{

WORD workMode; // 0 for 11-bit;

// 1 for 29-bit

WORD filterMode; // 0 for single filter mode,

// 1 for dual filter mode;

DWORD accCode; // accept code

DWORD accMask; // accept mask

BYTE timer0; // timer0 register (set baudrate)

BYTE timer1; // timer1 register

BYTE control; // enable interrupt

}PORT_CONFIG;

成员变量说明:

workMode : 0 - 使用 11位 CAN_ID;

1- 使用 29位 CAN_ID;

filterMode: 0 -CAN控制器采用单滤波方式;

1 -CAN控制器采用双

滤波方式;

accCode:设定的CAN控制器节点ID;

accMask:设定的与CAN_ID对应的屏蔽码;

timer0:设定的CAN控制器 time0寄存器内容(用

于设定波特率);

timer1:设定的CAN控制器 time1寄存器内容(用于设定波特率);

control:用于设定允许开放的中断 0-禁止中断 1-开放中断

control.7 control.0

BEIE: bus error interrupt enable

ALIE : arbitration lost interrupt enable

EPIE: error passive interrupt enable

WUIE: wake-up interrupt enable

DOID: data overrun interrupt enable

EIE: error warning interrupt enable

TIE: transmit interrupt enable

RIE: receive interrupt enable

波特率与Time0、Time1寄存器设定对照表

1.3 PORT_REG 结构定义

PORT_REG结构: 用于读/写CAN控制器内的寄存器的数据结构。

typedef struct _tagPORT_REG

{

BYTE card; // index of card(start from 0)

BYTE reg; // one of register in SJA1000

BYTE value; // for Reading: value read from one register

// for writting: value want to write to one register

}PORT_REG;

成员变量说明:

card:表示读取哪一个PCI非智能卡,基值必须从0开始;

reg:设定读取的CAN控制器的寄存器;

value: 读/写的寄存器内容

读操作:保存从寄存器读取的数据

写操作:保存写到寄存器的数据

1.4 CAN_PACKET 结构定义

PORT_ PACKET结构: CAN数据帧结构,用于发送和接收函数。

typedef struct _tagCAN_PACKET

{

DWORD CAN_ID; // CAN ID field (32-bit unsigned integer)

BYTE rtr; // CAN RTR bit.

BYTE length; // Length of data field.

BYTE data[8]; // Data (8 bytes maximum)

DWORD time; // Reserved for future use

BYTE reserved; // Reserved byte

} CAN_PACKET;

成员变量说明:

CAN_ID; CAN_ID(无符号32位数)

rtr: CAN RTR 位 0-数据帧 1-远程帧

length:数据长度(以字节为单位,最多8个字节)

data[8]: 数据(最多8个字节);

time:为将来功能扩展预留;

reserved:为将来功能扩展预留;

1.5 CAN_PACKET1000 结构定义

PORT_ PACKET1000结构: 定义此数据结构用于一次性全部读取数据缓冲区内容;

typedef struct _tagCAN_PACKET1000

{

WORD num;

CAN_PACKET packet[1000];

} CAN_PACKET1000;

成员变量说明:

num: 实际从数据缓冲区内读取的CAN数据帧数量

(0~1000)

packet[1000]:保存从数据缓冲区内读取的CAN数据帧内

相关文档
最新文档