周立功USBCAN-II 上位机开发(MFC)

使用的USB转CAN的设备是周立功的USBCAN-II,在购买的时候,会有上位机二次开发的库文件、例程和API文档等材料,可以参考。1、库函数的调用首先,把库函数文件都放在工作目录下。库函数文件总共有三个文件:ControlCAN.h、ControlCAN.lib、ControlCAN.dll和一个文件夹kerneldlls。VC调用动态库的方法(1) 在扩展名为.CPP的文件中包...
摘要由CSDN通过智能技术生成

使用的USB转CAN的设备是周立功的USBCAN-II,在购买的时候,会有上位机二次开发的库文件、例程和API文档等材料,可以参考。

1、库函数的调用

首先,把库函数文件都放在工作目录下。库函数文件总共有三个文件:ControlCAN.h、ControlCAN.lib、ControlCAN.dll和一个文件夹kerneldlls。

VC调用动态库的方法

(1) 在扩展名为.CPP的文件中包含ControlCAN.h头文件。
如:#include “ControlCAN.h”
(2) 在工程的连接器设置中连接到ControlCAN.lib文件。
如:在VC7环境下,在项目属性页里的配置属性→连接器→输入→附加依赖项中添加ControlCAN.lib

 

中间换了一台电脑,出现电脑丢失ControlCAN.dll的问题,将ControlCAN.dll拷到了可执行文件的文件夹中即可

 

2、基本操作

2.1 连接设备

 我这里每次连接都会重新开启接收数据的线程,创建一次接收数据的txt文档

void CTest_OilDlg::OnBnClickedButtonConnect()
{
    //首先判断CAN是否打开,,如果已经打开,则先复位及重启CAN--1.8
    //关闭程序前必须点击断开连接按钮,否则报错
    if(m_connect == 1)
    {
        m_connect = 0;
        //isShow = 0;
        Sleep(500);

        GetDlgItem(IDC_BUTTON_CONNECT)->SetWindowTextW(_T("连接"));
        VCI_CloseDevice(m_deviceType,m_deviceIndex);

        showListInfo(_T("断开设备成功"));

        //结束自发自收测试的定时器
        KillTimer(0);
        //结束当前线程
        if(m_pThread != NULL)
        {
            //::WaitForSingleObject(m_pThread->m_hThread,INFINITE);//该函数会造成死锁
            //https://blog.csdn.net/silvervi/article/details/5874212  将上面函数修改成如下,以避免上面函数阻塞对话框主线程的消息队列
            DWORD dwRet = 0;
            MSG msg;
            while(true)
            {
                //等待处理数据线程结束,和等待消息队列中的任何消息
                dwRet = MsgWaitForMultipleObjects(1,&m_pThread->m_hThread,false,INFINITE,QS_ALLINPUT);
                //dwRet = WaitForSingleObject(m_pThread->m_hThread,50);
                switch (dwRet)
                {
                case WAIT_OBJECT_0:
                        break;
                case WAIT_OBJECT_0 + 1:
                    //get the message from Queue and dispatch it to specific window
                    PeekMessage(&msg,NULL,0,0,PM_REMOVE);
                    DispatchMessage(&<
  • 1
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: USBcan-II驱动是用于控制和管理USBcan-II设备的软件程序。USBcan-II是一种用于CAN总线通信的USB接口设备。它允许计算机通过USB接口与CAN总线通信,并进行数据的发送和接收。 USBcan-II驱动的主要功能包括: 1. 设备连接与管理:驱动程序可以检测USBcan-II设备的连接状态,并进行设备的管理,包括设备的初始化、配置和关闭等操作。 2. CAN总线通信:驱动程序实现了CAN总线通信的相关功能,包括CAN报文的收发、过滤、帧类型的选择等。 3. 错误处理:驱动程序可以检测和处理通信中可能出现的错误,例如CAN总线通信错误、硬件故障等。 4. 配置和参数设置:驱动程序提供了对USBcan-II设备配置和参数的设置接口,包括波特率、滤波器设置、工作模式等。 5. 数据处理和转换:驱动程序可以对CAN报文的数据进行处理和转换,以满足特定应用的需求。 使用USBcan-II驱动时,用户可以通过API调用相关函数来实现对USBcan-II设备的控制和管理,以及CAN总线通信的实现。驱动程序提供了一组编程接口,使得用户可以通过编写软件程序来实现对USBcan-II设备的控制和数据交互。 总之,USBcan-II驱动是一种用于控制和管理USBcan-II设备的软件程序,通过驱动程序,用户可以实现对USBcan-II设备的控制和配置,以及CAN总线通信的实现。 ### 回答2: USB-CAN-II是一种CAN总线通信适配器,用于PC或其他设备与CAN总线之间的通信。驱动程序是为了使操作系统能够识别和与该适配器进行通信而开发的软件。 USB-CAN-II驱动程序通常由适配器制造商提供,其安装过程相对简单。用户只需在计算机或设备中运行驱动程序安装程序,并按照提示进行操作即可完成安装。安装完成后,操作系统将自动识别适配器,并在设备管理器中显示适配器的相关信息。 一旦安装了USB-CAN-II驱动程序,用户可以使用适配器提供的软件来配置和控制通信参数,如波特率和过滤器设置。用户还可以使用适配器提供的命令来发送和接收CAN消息。 USB-CAN-II驱动程序的功能可与各种CAN总线上的设备进行通信,如汽车、工业控制系统等。通过驱动程序,用户可以方便地通过PC或其他设备与CAN总线上的设备进行数据交换和通信。 总而言之,USB-CAN-II驱动程序是为了使PC或其他设备能够与CAN总线上的设备进行通信而开发的软件。通过安装适配器的驱动程序,用户可以方便地配置和控制通信参数,并与CAN总线上的设备进行数据交换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值