三.CANII IEC 库
本库就是一些基于 CAN2.0 协议的一些功能块。也就是 Can2.lib 中的一些函数与功能块。3.1 CAN_II_BUFF_INIT 函数功能描述:
本功能块的主要作用是用来初始化 CAN 接受信息对象的。注意 CAN_II_BUFF_INIT,必须用在 CAN_II_INIT 前面。本函数是 BOOL 型的。
函数块如下图:
输入:
(1) ENABLE,BOOL 型。函数的使能变量。
(2) OBJ,对象号,输入数值,1~14,0 是用来传输的号。
(3) ID,信息 ID,11 或 29 位 ID。
(4) EXTENDED,BOOL 型,用来扩展 ID 为 29 位。
输出(1) ERROR,BOOL 型。当 OBJ 超出范围时有输出。
3.2 CAN_II_GET_MSG 功能块
功能描述:
当 CAN 总线上有新的 CAN 信息是接受数据。
功能块如下图:
输入:
(1) ESSAGE,用户想接受的信息。
输出:
(1) EXTENDED,BOOL 型,当信息 ID 为 29 位时为 TRUE。
(2) ID,信息的 ID。
(3) DLC,信息的长度。
(4) DATAn,信息的数据,其中 n=DLC。
(5) CUSTOMER,没有定义。
(6) NEW_DATA,BOOL 型,当缓存中有新的数据时为 TRUE。
3.3 CAN_II_INIT 函数
功能描述:
CAN_II 设备的初始化函数。
功能块如下图:
输入:
(1) ENABLE,BOOL 型,使函数可以工作。
(2) SPEED,CAN 设备的波特率。
(3) GBML (GloBal Mask Long) 29bit 全球码。
(4) GBMS(GloBal Mask Short)11bit 全球码。
(5) TERM_RES CAN 的接受终端 On/Off.
3.4 CAN_II_RTR 函数
功能描述:
发送远距离传送请求。本函数是 BOOL 型的。
函数块如下图:
输入:
(1) ENABLE,BOOL 型,使能。
(2) OBJ 选择对象号,1~13。
输出:
(1) ERROR,当输出为 TRUE 时,就是选择的对象好有问题。
3.5 CAN_II_STATUS 功能块
功能描述:
本功能快就是用来返回 CAN 设备的状态。
功能块如下图:
输入:无
输出:
(1) LEC,就是返回最近的一个出错的代码。
(2) TXOK 为 TRUE 时就表示传输成功。
(3) RXOK 为 TRUE 时就表示接受成功。
(4) EWARN_COUNT 出错记数器。
(5) BUSOFF_COUNT,总线关闭记数器。
3.6 CAN_IIRX 功能块
功能描述:
从更高的 message 对象来接受新的 CAN 信息。
功能块如下图:
输出:
(1) EXTENDED,BOOL 型, 扩展信息的 ID 位为 29 位。
(2) ID ,信息 ID。
(3) DLC ,数据长度 1..8。
(4) DATAn ,信息数据,其中 n=DLC
(5) CUSTOMER ,没有定义。
(6) NEW_DATA ,当有新的数据到了缓存中时为 TRUE。
3.7 CAN_IITX 功能块
功能描述:
向更高的 message 对象来发新的 CAN 信息。
功能块如下图:
输入:
(1) ENABLE,BOOL 型,使能。
(2) XTENDED,BOOL 型, 扩展信息的 ID 位为 29 位。
(3) ID ,信息 ID。
(4) DLC ,数据长度 1..8。
(5) DATAn ,信息数据,其中 n=DLC。
CAN2 使用说明:
接收数据:
1.可以采用 CAN_II_BUFF_INIT 和 CAN_II_GET_MSG 配合使用,自动将 CAN总线上 ID 和 CAN_II_BUFF_INIT 相同 ID 的数据自动放到相应的缓存里面,建议如果接收的 数 据 有 限 的 话 使 用 CAN_II_BUFF_INIT 和 CAN_II_GET_MSG 函 数 接 收 数 据 ,CAN_II_BUFF_INIT 应在 CAN_II_INIT 之前。
2.也可以只使用 CAN_IIRX,但是如果使用 CAN_IIRX 函数必须判断接收回来的 ID 和我需要的 ID 是否相等,因为 CAN_IIRX 将总线上所有的数据都接收回来。发送数据:使用 CAN_IITX 发送 CAN 数据由于发送缓存的限制,每一次最多可以发送 8 个不同 CAN ID 的数据,考虑到每次发送的可靠建议每次程序循环一次发送 5 个不同 CAN ID的数据。
6fchgfcvhgvujhbuh 谢谢楼主分享,看看是什么 想下载看看是不是我的版本
CANII IEC 库 这个库现在下载不到
页:
[1]