配置:
把kerneldlls文件夹、ControlCAN.dll、ControlCAN.lib放在工程下面(debug和Release下面,最后需要exe和这些文件在一起);右键工程属性,链接器->输入->附加依赖项,填入./ControlCAN.lib。

查看工程的外部依赖性里面有了controlcan.h就成功了

一、打开can

VCI_INIT_CONFIG init_config;//定义一个初始化can的结构体

memset(&init_config,0,sizeof(VCI_INIT_CONFIG));
init_config.AccMask = 0xffffffff; //屏蔽码,表示全部接接收
init_config.Mode = 0; //正常模式
init_config.Timing0 = 0x00; //定时器0,和波特率有关,1M波特率
init_config.Timing1 = 0x14; //定时器1

VCI_OpenDevice(VCI_USBCAN2,a,0);//打开设备

VCI_InitCAN(VCI_USBCAN2,a,b,&init_config);//初始化can,VCI_USBCAN2=4,a:设备号,b:通道号

VCI_StartCAN(VCI_USBCAN2,a,b);//打开指定通道

二、关闭can

VCI_CloseDevice(VCI_USBCAN2,a);

三、复位can

(VCI_ResetCAN(VCI_USBCAN2,a,b);//复位

VCI_StartCAN(VCI_USBCAN2,a,b);//再打开

四、发送

VCI_CAN_OBJ vco;//数据结构体

VCI_Transmit(VCI_USBCAN2,a,b,&vco,1);//发送

五、接收

VCI_CAN_OBJ frameinfo[100];//接收结构体
VCI_ERR_INFO errinfo;//错误结构体
int buf_frame_lenth = 0;//缓冲区没有被读取的帧数据个数
DWORD rcv_lenth = 0;//接收到的数据
int a ;
int b ;
a = ((CComboBox*)can_this->GetDlgItem(IDC_COMBO10))->GetCurSel();//设备号
b = ((CComboBox*)can_this->GetDlgItem(IDC_COMBO11))->GetCurSel();//通道号
while (can_this->ISOPEN)
{
Sleep(100);
buf_frame_lenth = VCI_GetReceiveNum(VCI_USBCAN2,a,b);//查看缓冲区有多少帧数据
if(buf_frame_lenth != 0)//如果缓冲区有未被读取的数据,开始读数据
{
rcv_lenth = VCI_Receive(VCI_USBCAN2,a,b,frameinfo,100,20);//接收数据
if(rcv_lenth == 0xFFFFFFFF)//读取错误
  VCI_ReadErrInfo(VCI_USBCAN2,a,b,&errinfo);//读取错误信息

//开始解析

}

mfc配置CAN通信的更多相关文章

  1. mfc配置GDI+有106个错误

    mfc配置GDI+有106个错误,处理如下,参考http://bbs.csdn.net/topics/380054079 一开始#include...放在stdafx.h里有错误,后来上面修改好了,放 ...

  2. Tomcat6和Tomcat7配置SSL通信的比较

    <Tomcat6和Tomcat7配置SSL通信的比较> 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 在项目开发过程中,尝尝会遇到Tomc ...

  3. OpenCV MFC 模块间通信

    1. 新建MFC项目 点击完成. 2. 添加按钮 在"工具箱"中找到"Button"控件,添加至界面:  2. 配置opencv, 添加colordetecto ...

  4. MFC 多窗口通信时,使用RadioButton和Button时冲突问题

    最近项目需要我们实现在两个窗口间进行通信,其中有个小功能如图所示: 当我点击GDIProgram中的Button1时,会更新Dialog的Radio1和Radio2的状态. Dialog中的Radio ...

  5. Qt配置USBCAN通信

    周立功为CAN通信提供了动态库:官方提供了很多相关动态库和lib等,如图 ,其中kerneldlls里还有很多动态库,还有一个配置文件.其实这么多的文件,如果我们只用到USBCAN2通信,只需要ker ...

  6. 微端游戏启动器LAUNCHER的制作之MFC版一(序和进程通信)

    额...刚开始信誓旦旦说要写launcher制作的博客,还没写完就被抛到脑后了真是没毅力.最近把之前写的wpf的launcher改成了mfc版,遇到很多问题,写了三个星期才写完,好好记录一下吧.我也想 ...

  7. MFC读写配置ini文件

    https://blog.csdn.net/naibozhuan3744/article/details/78783446 https://blog.csdn.net/rayborn1105/arti ...

  8. tomcat安装配置.md

    tomcat 安装 安装jdk jdk我使用的是oracle的,如果下载请在oracle的官网上下载.或者你也可以使用openjdk,官网在http://openjdk.java.net/. # ta ...

  9. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

随机推荐

  1. [Gradle] 如何强制 Gradle 重新下载项目的依赖库

    强制刷新 Gradle 依赖库缓存 $ gradle build --refresh-dependencies The --refresh-dependencies option tells Grad ...

  2. Java调用http保留访问状态

    package com.coracle; import com.coracle.yk.xframework.util.yunTongXun.HttpRequest; import java.io.*; ...

  3. HDU 5667 Sequence(矩阵快速幂)

    Problem Description Holion August will eat every thing he has found. Now there are many foods,but he ...

  4. CEF3 HTML5 audio标签为什么不能播放mp3格式的音频文件

    CEF3 HTML5 audio标签 为什么不能播放mp3格式的音频文件   原因略.   解决方法: 找一个最新版的chrome ,我用的是24版本.路径 C:\Documents and Sett ...

  5. AntiSamy测试

    AntiSamy为owasp针对xss提供的处理库,可以配置xml策略来决定过滤的内容,比如标签.属性.css等,自定义策略给开发人员使用成本比较高,AntiSamy也提供了几个内置的策略,其安全级别 ...

  6. SoftReference、WeakReference、PhantomRefrence分析和比较

    级别 什么时候被垃圾回收 用途 生存时间 强引用 从来不会 对象的一般状态 JVM停止运行时终止 软引用 在内存不足时 优化内存使用 内存不足时终止 弱引用 在垃圾回收时 对象缓存 gc运行后终止 虚 ...

  7. MySQL整理(一)

    一.数据管理发展阶段 人工管理阶段→文件系统阶段→数据库系统阶段    二.数据库管理系统提供的功能   (1)数据定义语言DDL:提供数据定义语言定义数据库及各种对象,定义数据的完整性约束和保密限制 ...

  8. FAQs on Android

    @1: Environment Setup Ubuntu 14.04  32bits 1. Call Requires API level 11 (current min is 8) Android. ...

  9. Linux系统基础命令总结

    一.帮助命令(1)helpxxxx --helphelp xxxx(2)manman xxxx二.ls查看命令:列表显示目录内的文件及目录ls 参数-l 以列表的形式显示-d 显示目录本身属性-a显示 ...

  10. http协议中post方法发出请求

    package com.chinaums.szm.test.base.igoodful; import com.fasterxml.jackson.databind.ObjectMapper;impo ...