1、VCI_OpenDevice函数
此函数用于连接并打开已插入计算机的CAN适配器。
在通过此函数打开CAN适配器时,所在的计算机进程中将自动生成一个针对CAN进行操作的句柄,并同时在内存中建立相关资源。该函数必须与VCI_CloseDevice成对出现,即:调用VCI_OpenDevice后,在退出进程、关闭软件、重新打开适配器等情况时,必须调用VCI_CloseDevice函数释放资源,否则可能引起进程崩溃、通信错误等未知错误!


2、VCI_CloseDevice函数
此函数用来关闭已打开的CAN适配器,关闭后,适配器将不再进行收发活动,直到下一次打开启动。
该函数应与VCI_OpenDevice函数成对出现,关闭适配器的同时,释放系统资源!


3、VCI_InitCAN函数
此函数在调用VCI_OpenDevice函数成功之后调用,用来初始化适配器上的一个CAN通道,该函数的形参pInitConfig传递了初始化相关的参数,其中包括滤波参数、波特率、工作模式等。
注意:CAN总线在正常收发数据的时候,尽量不要通过CAN适配器修改CAN总线参数或关闭CAN总线,应等数据收发停止或将CAN适配器脱离CAN总线再进行相应操作。


4、VCI_GetReceiveNum函数
该函数必须在CAN打开的状态下调用,用来获取在CAN适配器某个通道缓冲区中已经接收到的但未被VCI_Recive函数读取的帧的数量。
在实际编程中,内存一般不会出现紧张,所以一般不用调VCI_GetReceiveNum,以节约CPU资源,而直接调用VCI_Recive,接收用的pReceive结构体数组长度可以设为2000帧

pReceive [2000]

每次接收的最大长度Len 也设为2000,Len=2000。如果接收到数据,函数返回相应的帧数,并填充pReceive结构体,如果没有数据,函数返回0。所以不必调用VCI_GetReceiveNum。


5、VCI_StartCAN函数
该函数用在VCI_InitCAN函数调用成功后,作用是启动一个CAN通道,所启动的CAN通道必须经过VCI_InitCAN函数初始化后才能成功启动,通道启动后,即可通过调用VCI_Receive和VCI_Transmit函数接收和发送CAN消息。


6、VCI_Receive函数
该函数必须在CAN通道启动后调用,用来读取CAN通道接收缓存区(设备驱动提供每个通道2000帧CAN消息长度的接收缓冲区,这为应用程序提供了充足的反应处理时间。)中未被读取的CAN消息,它的形参pReceive为接收数据帧数组的首指针;

另一个形参len为接收数据帧数组的长度,如果接收缓冲区帧数小于或等于Len时,所有数据均会被读出;

如果接收缓冲区帧数大于Len时,Len个数据被读出。所以对应用程序来讲,如果2000帧的数据存储空间不占用太多资源,那么Len可以设为2000及以上,这样能保证每次调用VCI_Receive函数都能把所有数据一次性读回。
在接收线程中,一般通过循环调用VCI_Receive函数来查询接收缓冲区并接收数据。关键参数有:调用频率、接收长度Len。一般情况Len设置成存储空间长度,或者根据实际接收频率及总线消息出现频率设置适当值,前提是这个接收数组要足够大,否则可能出现丢帧现象。


7、VCI_Transmit函数
该函数必须在CAN通道启动后调用,用来向CAN通道发送缓冲区(CAN适配器提供约每个通道10帧CAN消息长度的发送缓冲区,每次调用VCI_Transmit最多发送约10帧数据。)发送数据,然后通过CAN总线发送出去,它的形参pSend为发送的数据帧数组的首指针;另一个形参len为要发送的数据帧数量,可设置为1-10之间的任意整数。
发送设备的发送速度由当前计算机软硬件性能决定,一般连续发送速度在8000 fps以上(1Mbps),若发送速度过快将有可能使总线利用率达到100%,使发送方出现发送超时。这样用户可在应用程序中适当添加延时以降低发送速度。
发送过程中每次调用VCI_Transmit函数都有超时限制,发送时超时时间约10ms。发送超时一般由于CAN总线繁忙且当前节点优先级较低时发生,并不是函数调用或通讯错误,用户可以编程实现重发。因此,在系统设计时注意保证CAN总线占用不应该超过总线容量的60-70%。

汽车总线CAN卡的二次开发注意点相关推荐

  1. 达达php源码,达达房卡麻将二次开发VIP系统学习课程

    [↓↓↓资源简介↓↓↓] 1:幼麟棋牌官方学习课程!!!2:幼麟棋牌达达房卡麻将的creator + node.js基础技术课程;3:幼麟棋牌达达房卡麻将的客户端与服务器搭建与源码分析课;对于想学习棋 ...

  2. LED点阵屏二次开发资料收集

    仅做资料收集,供参考 1.二次开发 1.1仰邦 led数字字体_LED控制卡(二次开发6k3)升级-调试_weixin_39599081的博客-CSDN博客 LED显示屏 C#编程控制_To A Be ...

  3. 新酷卡 mysql接口_新酷卡M池二次开发模块数据库操作版

    有大神发了一个soket方式的,尝试继承到模块后发现soket不太适合放到易模块类内, 客户组件不支持放在类内,必须放在界面上,传入赋值类内客户变量,收到数据事件也没办法放在类内,放弃 远程服务支持库 ...

  4. 迈创采集卡搭配工业相机二次开发介绍(一)

    迈创采集卡搭配工业相机二次开发介绍(一)SDK简介 迈创采集卡介绍 迈创采集卡SDK简介 MIL SDK获取路径 接口函数说明 MIL接口简单介绍 迈创采集卡介绍 MIL全称为Matrox Imagi ...

  5. 仰邦控制卡Python接口_仰邦控制卡二次开发中转义是什么意思?

    展开全部 仰邦控制卡中的转义是指:根据仰邦的协议,上位机向控制卡发送一帧636f707962616964757a686964616f31333337613239数据,在这一帧数据中除开帧头和帧尾部分, ...

  6. 基于UDS的BootLoader上位机源代码,支持ISO15765通信,支持PeakCAN , ZJG CAN等CAN卡, 支持S-record格式的二进制文件解析; 可二次开发或扩展应用

    基于UDS的BootLoader上位机源代码(C#) 基于UDS的BootLoader上位机源代码,支持ISO15765通信,支持PeakCAN , ZJG CAN等CAN卡, 支持S-record格 ...

  7. 基于Qt的金橙子打标卡二次开发

    激光加工行业中经常会用到不规则图形的加工,这时用金橙子的软件就不能满足我们的需求,需要对金橙子软件进行二次开发,在金橙子开发Demo中只有基于MFC的例子和C#的例子. 为把架构做成硬件无关,先定义一 ...

  8. 【虹科云展厅专题】虹科赋能汽车智能化云展厅——汽车总线专题

    虹科2023年开年福利 聚焦前沿技术,[虹科赋能汽车智能化云展厅]正式上线,本次云展厅围绕"汽车以太网/TSN.汽车总线.智能网联.电子测试与验证.自动驾驶"等核心话题,为您带来如 ...

  9. 【汽车总线技术】CAN和CAN FD总线故障诊断

    在总线测试的过程中,总会遇到各种各样的问题,本文主要总结了平时测试过程中经常遇到的一些典型问题,并给出解决方案.如果总线出现故障,大致可以按照标题顺序来检查. 1.断线 如果线缆破损,CAN通讯则无法 ...

最新文章

  1. 【技术贴】五分钟解决打开软件提示windows正在设置Microsoft Office Profes
  2. python 爬取直播弹幕视频_python爬取斗鱼B总直播弹幕
  3. 我的世界1.6.2 java_我的世界Java版1.16.2
  4. supermap试用许可过期如何重新申请
  5. php扩展传参,c写php扩展传参学习记录
  6. two day python基础知识
  7. U盘硬盘文件提示“文件或目录损坏且无法读取”问题解决
  8. RFB_Net(ECCV 2018)
  9. 海尔计算机无法装win7系统,海尔Haier电脑预装win8换win7系统BIOS设置及安装教程
  10. Downward API
  11. 使用Stream流时报java.lang.IllegalStateException: stream has already been operated upon or closed错误
  12. 通过手机使用广域网访问局域网的服务器
  13. 【Jetpack】WorkManager
  14. 删除文件夹出现0x80070091错误提示目录不是空的
  15. 苹果 App Store 最贵的 App,评论亮了!!
  16. 孙陶然将公司管理分为三个阶段
  17. 【算法随记三】小半径中值模糊的急速实现(16MB图7.5ms实现) + Photoshop中蒙尘和划痕算法解读。...
  18. Javaweb8==通过tomcat访问到一段代码并执行,同时读取前端数据和从后端给前端返回数据。通过继承javaEE的HttpServlet类。实现登录注册功能和前端界面。
  19. Android6.0 ios,意超越iOS9!谷歌寄希望于Android6.0系统
  20. vs2015编译基于obs-studio的阿里巴巴直播工具tblive

热门文章

  1. 如何使用 Eclipse + Kotlin + tomcat 开发 Dynamic Web Server
  2. GIT使用踩坑!!!我的妈妈呀,烦死了烦死了烦死了!!!
  3. 第一部分 思科九年 一(14)
  4. ros2-foxy+ubuntu20.04 源码安装
  5. 基于组态王6.55的实时数据采集助手V1.0
  6. 【报告分享】2020年中国工业机器视觉产业发展白皮-赛迪(附下载)
  7. seo专家,seo专家:最简单的seo资源整合方法
  8. 空天院(齐鲁)提前批面试记录
  9. Facebook广告投放运营中的关键成功因素是什么?
  10. 智能化办公系统解决方案