酷德网

Kx-m3酷自造发布!
查看: 175|回复: 0

三.CANII IEC 库

[复制链接]
  • TA的每日心情
    奋斗
    2017-12-16 07:07
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2018-8-17 11:30:24 | 显示全部楼层 |阅读模式
    本库就是一些基于 CAN2.0 协议的一些功能块。也就是 Can2.lib 中的一些函数与功能块。3.1 CAN_II_BUFF_INIT 函数
    功能描述:      
    本功能块的主要作用是用来初始化 CAN 接受信息对象的。注意 CAN_II_BUFF_INIT,必须用在 CAN_II_INIT 前面。本函数是 BOOL 型的。
    函数块如下图:

    61bbc0cb3ce13b6a64cfe4b5ad505f6b.jpg
    输入:
    (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 信息是接受数据。
    功能块如下图:

    6294da20c6b772dd585126455edd6f53.jpg
    输入:
    (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 设备的初始化函数。
    功能块如下图:
    d4b4887be3cd764d9399dd900c5d2db4.jpg
    输入:
    (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 型的。
    函数块如下图:
    0038e17c1ae765087730d6e573332125.png
    输入:
    (1) ENABLE,BOOL 型,使能。
    (2) OBJ 选择对象号,1~13。
    输出:
    (1) ERROR,当输出为 TRUE 时,就是选择的对象好有问题。
    3.5 CAN_II_STATUS 功能块
    功能描述:
    本功能快就是用来返回 CAN 设备的状态。
    功能块如下图:
    输入:无
    输出:
    (1) LEC,就是返回最近的一个出错的代码。
    (2) TXOK 为 TRUE 时就表示传输成功。
    (3) RXOK 为 TRUE 时就表示接受成功。
    62b06ed5f2f7c247884d533e269295b6.jpg
    (4) EWARN_COUNT 出错记数器。
    (5) BUSOFF_COUNT,总线关闭记数器。
    3.6 CAN_IIRX 功能块  
    功能描述:  
    从更高的 message 对象来接受新的 CAN 信息。
    功能块如下图:
    f6d507bf6d247fab82a80eb484bd958e.jpg
    输出:
    (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 信息。
    功能块如下图:
    687bc29ad892eed62e3f0a06a0ce096e.jpg
    输入:
    (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的数据。


                   
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|小黑屋|手机版|Archiver|酷德论坛 ( 苏ICP备16065247号 )|网站地图

    GMT+8, 2018-11-19 16:05 , Processed in 0.296315 second(s), 22 queries , MemCache On.

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表