精华内容
下载资源
问答
  • 周立功USB转CANII驱动(linux版本),可直接在linux下解压使用。周立功USB转CANII驱动(linux版本),可直接在linux下解压使用。
  • 周立功USB转CAN驱动

    2019-01-04 21:03:07
    工业用周立功USB转CAN驱动,方便下载使用,内含XP-Win7-Win8-32位64位驱动
  • 系统是ubuntu16系列 周立功的是usbcan-Ⅱ 提示:以下是本篇文章正文内容,下面案例可供参考 一、步骤 1.检查是否安装libusb的库 代码如下(示例): $ sudo apt-get install libusb-1.0-0 注:工控机没有无线接收端...


    前言

    系统是ubuntu16系列 周立功的是usbcan-Ⅱ

    提示:以下是本篇文章正文内容,下面案例可供参考

    一、步骤

    1.检查是否安装libusb的库

    代码如下(示例):

    $ sudo apt-get install libusb-1.0-0
    

    :工控机没有无线接收端,无法连接到无线网络。可以通过数据线和手机连接,然后手机通过“USB网络共享”实现工控机连接网络。参考方法:联网方法

    2.驱动安装

    驱动包USBCAN-I_II_I+_II+_2A_I-mini_Linux_Drivers.rar解压,进入test文件夹(可以直接将test放在home根目录里),将libusbcan.so拷到/lib目录。然后在test目录中终端使用make命令即可编译:

    代码如下(示例):

    $ make
    

    3.测试

    进入test目录,不带参数运行测试程序,会打印CAN测试参数说明:

    $ ./test
    

    **注:**如果出现“……succeeded”则说明驱动安装成功。驱动安装成功后,在工控机CAN线接口处也会有绿灯常亮。

    部分常见问题

    1.工控机CAN线处绿灯常亮,但在/test终端输入命令“$ ./test”,出现“……failed”。
    解决办法:
    在/test终端中输入命令:$ lsusb ,会出现类似下图情况:

    在这里插入图片描述
    再输入命令:$ sudo chmod 666 /dev/bus/usb/001/002 ;
    注:/001/002是需要按上图中的通道提示获得的,也就是Bus 001 Device……中题去的信息。每次开机这个都会变,挨个试,直到输入命令:$ ./test 后出现“……succeeded”即表示通讯成功。

    2.如果每次开机CAN通讯都会出现“……failed”。可以永久赋予普通用户操作USBCAN设备的权限。
    解决办法:
    如果要永久赋予普通用户操作USBCAN设备的权限,需要修改udev配置,增加文件:/etc/udev/rules.d/50-usbcan.rules。打开终端,输入命令:
    $ touch /etc/udev/rules.d/50-usbcan.rules
    然后获得root用户权限:
    $ su root
    编辑配置文件50-usbcan.rules:
    $ gedit /etc/udev/rules.d/50-usbcan.rules
    在50-usbcan.rules文件中输入:
    SUBSYSTEMS==“usb”,ATTRS{idVendor}“0471”,ATTRS{idProduct}“1200”, GROUP=“users”, MODE="0666"
    再重新加载udev规则:
    $ sudo /etc/init.d/udev restart
    完成后重启即可解决该问题。

    另外,要确保自己线接对了!!!

    展开全文
  • USBCAN_E_U_drive,ZLG,周立功 CAN驱动,USBCAN_E_U的CAN盒的驱动
  • Linux周立功CAN驱动安装指导

    千次阅读 2019-01-04 21:58:07
    Linux周立功CAN驱动安装指导 安装 打开Linux终端,进入root模式 ①非永久模式,在命令前加sudo前缀 ②永久模式,在终端输入sudo su命令,再输入当前用户的密码,就可以以root身份登录到终端。 将sja1000.h复制到...

    Linux周立功CAN驱动安装指导

    • 安装
    1. 打开Linux终端,进入root模式

    ①非永久模式,在命令前加sudo前缀

    ②永久模式,在终端输入sudo su命令,再输入当前用户的密码,就可以以root身份登录到终端。

    1. 将sja1000.h复制到内核目录

    #cd (zpcican中Makefile所在目录)

    #cp sja1000.h /usr/src/your-kernel-source/drivers/net/can/sja1000/sja1000.h

    注:your-kernel-source,为内核目录源,通过cat /proc/vesion指令查看内核版本信息,再在usr/src(通常)下寻找和版本对应的内核目录。例如:内核版本信息为Linux version 4.40-141-generic。。。。,则在usr/src下的linux-headers-4.4.0-141-generic即为your-kernel-source。以上仅适用于Ubantu系统,在其他Linux系统未测试。

    1. 编辑Makefile,将KDIR更改为您的内核目录
    2. 编译并加载zpcican.ko

    #make

    #insmod zpcican.ko

    注:make完成后在zpcican文件夹下,可以看到生成zpcican.ko等文件

    若加载模块失败(insmod zpcican.ko失败):

    ①若报找不到insmod zpcican.ko,使用指令cp -r zpcican.ko /usr/src/linux-headers

    -4.4.0-141-generic,拷贝zpcican.ko到路径

    ②若报没找到模块,或缺乏(没找到)依赖项错误

    # modinfo ./zpcican.kolgrep depend 查看依赖项名称, 结果是---->depends:     依赖项名称(sja1000)

    # modprobe sja1000  加载依赖项

    #inmod ./zpcican.ko  再加载zpcican.ko模块

    ③若报无法插入模块zpcican.ko:无效模块格式

    应考虑,内核目录是否错误,重新查看内核版本,防止内核版本变更导致的错误

    1. 安装can-utils

    #apt-get update

    #apt-get install can-utils

    注:apt-get update的时间比较久,耐心等待

    1. 检查硬件

    #lspci -n

    出现如下图结果:

    1. 检查设备节点

    #ls / sys / class / net / can*

    出现如下图结果:

    • CAN接收发送测试
    1. 检测CAN是否连接

    #ip link show can0

    结果如下

    1. 设置can波特率

    # ip link set can0 type can bitrate 500000 triple-sampling on

    或者:#ip link set can0 type can bitrate 500000

    1. 使能CAN接口

    #ip link set can0 up

    或者:#ifconfig can0 up

    1. CAN接收测试

    用一转多,一头接待测试板卡CAN0,另一头接CAN-E-U卡,CAN-E-U接笔记本电脑,笔记本电脑端打开cantest,设置与CAN0相同的波特率,ID422,每次发送10帧,如下图所示;

    终端输入#candump can0指令进入等待接收模式,此时点击cantest发送按钮,在终端可以观察到如下结果:

    1. CAN发送测试

    在另一个终端输入#cangen can0 -g 4 -I 42A -L 1 -D i -v -v指令,可以在cantest观察到数据不停的接收。结果如下:

    同时在终端也可以看到数据的发送:

    1. 当can总线不再被需要或重新配置can(波特率)时,请关闭can接口
    展开全文
  • 周立功PCI CAN卡 PCI9820i LINUX驱动 ubuntu 16.04 内核版本4.15 周立功PCI CAN卡 PCI9820i LINUX驱动 ubuntu 16.04 内核版本4.15 周立功PCI CAN卡 PCI9820i LINUX驱动 ubuntu 16.04 内核版本4.15 周立功PCI CAN卡 ...
  • 周立功CAN卡64位驱动程序 / ********************************************* * * USBCAN-I/II 智能CAN接口卡配套光盘 * * 更新记录:2003-11-26 * ********************************************* / 更新日期: ...
  • 周立功can通信动态库文件,里面有关于调用周立功api接口的动态库文件
  • 周立功usbcan驱动

    2018-07-27 13:31:27
    周立功各种usbcan驱动!欢迎查看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 周立功CAN卡 8EU 4 EU 驱动安装包 网盘链接: https://pan.baidu.com/s/1FezRq6hekfpdifyJMvQABw 密码: 02uj 或官网下载。 安装步骤:

    周立功CAN卡 8EU 4 EU 驱动安装包

    网盘链接: https://pan.baidu.com/s/1FezRq6hekfpdifyJMvQABw 密码: 02uj
    或官网下载。

    包中的sample可以用来参考改写驱动代码。

    安装步骤:
    在这里插入图片描述

    展开全文
  • 周立功CAN驱动2E-U

    2018-07-13 16:12:16
    周立功 USBCAN-2E-U CAN卡WINdows驱动,简单明了 内有详细安装说明
  • 周立功can卡转usb驱动程序是一款靠谱的驱动软件,支持32位和64位操作系统,can卡具有强大的错误检测能力,灵活性强,使用这款驱动可以增强稳定性,需要的朋友快来下载吧!周立功can卡介绍周立功can卡是单机开发过程...
  • 周立功USB转CAN(USBCAN-E-U/USBCAN-2E-U)WIN10(包括64位与32位)驱动CANTest软件
  • USBCAN驱动安装_WIN10.rar

    2019-11-11 14:58:59
    周立功_USBCAN驱动安装 _适用于Win10系统,亲测可用,本软件可适用于广州致远电子股份有限公司出品的各种 CAN 接口卡。CANTest 测试软件可进行数据收发、查询等基 本传输功能。是 CAN 总线测试的必备软件。CAN ...
  • 周立功CAN LIB ,动态链接库DLL说明,使用兼容周立功协议的CAN工具进行二次开发必备。
  • 最近使用can分析仪作为机器人通信中枢,于是需要根据动态链接库进行二次开发,根据开发文档进行了二次开发,目前可以根据需求进行发送和接受。分析仪如图所示,Linux版本。想要的某宝可以随便买到。若需要整个驱动包...

    简介

    最近使用can分析仪作为机器人通信中枢,于是需要根据动态链接库进行二次开发。文中根据开发文档进行了二次开发,目前可以根据需求进行发送和接收。分析仪如图所示,Linux版本。想要的某宝可以随便买到。若需要整个驱动包及技术交流欢迎留言或者添加微信公众号获取,我有空会进行部分回答。后面会更新一个C++版本的驱动,需要C++的可以稍等或者发消息咨询。

    代码解释

    1,部分解释

    代码太长了,基本跟着二次开发库函数来的,注意该驱动支持周立功,只需要根据自己的机子分清楚是什么型号就行,比如USBCAN-2A,USBCAN-2C,CANalyst-II 的设备类型号都是4,大家是什么需要根据函数来改。基本多试试参数,参数一定要正确,代码基本没什么问题。

    2,关于日志和yaml部分

    代码对日志和YAML操作方式也进行了运用了,日志可以根据自己需求输出不同的颜色,希望对大家有帮助。有问题可以和我联系进行沟通。

    代码实例化

    这里代码实例化,实现的主要功能是,通过指令向一个can设备发一条命令,8个字节的字段,可以参考串口协议,类似的16进制,Can设备返回请求数据。在这里插入图片描述

    #! /usr/bin/env python
    # coding=utf-8
    from ctypes import *
    import yaml
    import os
    import logging
    from logging.handlers import RotatingFileHandler
    import os
    from math import pi
    from colorama import Fore, Style
    from command import *
    import time
    class VCI_BOARD_INFO(Structure):
        _fields_ = [('hw_Version',c_ushort),
                    ('fw_Version',c_ushort),
                    ('dr_Version',c_ushort),
                    ('in_Version',c_ushort),
                    ('irq_Num',c_ushort),
                    ('can_Num',c_byte),
                    ('str_Serial_Num',c_char*20),
                    ('str_hw_Type',c_char*40),
                    ('Reserved',c_ushort*4)
                                            ]
    class VCI_CAN_OBJ(Structure):
        _fields_ = [('ID',c_uint),
                    ('TimeStamp',c_uint),
                    ('TimeFlag',c_byte),
                    ('SendType',c_byte),
                    ('RemoteFlag',c_byte),
                    ('ExternFlag',c_byte),
                    ('DataLen',c_byte),
                    ('Data',c_ubyte*8),
                    ('Reserved',c_ubyte*3)
                                            ]
    class VCI_INIT_CONFIG(Structure):
        _fields_ = [('AccCode',c_uint),
                    ('AccMask',c_uint),
                    ('Reserved',c_uint),
                    ('Filter',c_ubyte),
                    ('Timing0',c_ubyte),
                    ('Timing1',c_ubyte),
                    ('Mode',c_ubyte)
                                            ]
    
    class CanAnalysisDriver:
        def __init__(self,configname):
            self.configname=configname
            self.OpreateCanAnalysis = cdll.LoadLibrary('../lib/libcontrolcan.so')
            self.yamlDic={}
            self.Opreating_Yaml()# init yaml
            
            self.logger = logging.getLogger()## 创建一个logger
            self.logger_init()
        def Opreating_Yaml(self):
            current_path = os.path.abspath("..")
            yaml_path = os.path.join(current_path, "config/"+self.configname)
            print yaml_path
            file_data = open(yaml_path)
            self.yamlDic = yaml.load(file_data)
            file_data.close()
        def logger_init(self):
            # Log等级总开关
            self.logger.setLevel(logging.DEBUG)
            # 再创建一个handler,用于输出到控制台
            ch = logging.StreamHandler()
    
            # 输出到console的log等级的开关
            ch.setLevel(logging.INFO)
    
            # 定义handler的输出格式
            formatter = logging.Formatter("%(asctime)s [%(thread)u] %(levelname)s: %(message)s")
            # 控制台输出设定格式
            ch.setFormatter(formatter)
            # 设置控制台输出到logger
            self.logger.addHandler(ch)
        def loggererror(self,message):
            self.logger.error(Fore.RED + "[ERROR] - " + str(message) + Style.RESET_ALL)
        def loggerinfo(self,message):
            self.logger.info(Fore.GREEN + "[INFO] - " + str(message) + Style.RESET_ALL)
        def loggerwarning(self,message):
            self.logger.warning()(Fore.YELLOW + "[WARNNING] - " + str(message) + Style.RESET_ALL)
        def Init_node(self,):
            pass
        def Can_VCIOpenDevice(self):
            Canstatus=self.OpreateCanAnalysis.VCI_OpenDevice(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],0)
            if Canstatus==0:
                self.loggererror("Open Can Analysis device error")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Open Success!")
                self.loggerinfo(Canstatus)
                return True
        def Can_VCICloseDevice(self):
            Canstatus=self.OpreateCanAnalysis.VCI_CloseDevice(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'])
            if Canstatus==0:
                self.loggererror("Close can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Close Success!!")
                self.loggerinfo(Canstatus)
                return True  
        def Can_VCIInitCan_PyInit(self,CanInd,VCI_INIT_CONFIG_STRUC):
            
            CanFuncStruc=self.OpreateCanAnalysis.VCI_InitCAN#(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            CanFuncStruc.restype = c_uint
            CanFuncStruc.argtypes=[c_uint,c_uint,c_uint,POINTER(VCI_INIT_CONFIG)]
            return CanFuncStruc(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,byref(VCI_INIT_CONFIG_STRUC))
        def Can_VCIInitCan(self,CanInd):
            config=VCI_INIT_CONFIG()
            config.AccCode = 0x00000000
            config.AccMask = 0xFFFFFFFF
            config.Filter = 0
            config.Mode = 0
            config.Timing0 = 0x00
            config.Timing1 = 0x1c
            #print(config)
            Canstatus=self.Can_VCIInitCan_PyInit(CanInd,config)
            if Canstatus==0:
                self.loggererror("Init Can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Init Success!!")
                self.loggerinfo(Canstatus)
                return True   
        def Can_ReadBoardInfo_PyInit(self,VCI_BOARD_INFO_STRUC):
            CanFuncStruc=self.OpreateCanAnalysis.VCI_ReadBoardInfo#(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            CanFuncStruc.restype = c_uint
            CanFuncStruc.argtypes=[c_uint,c_uint,POINTER(VCI_BOARD_INFO)]
            return CanFuncStruc(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],byref(VCI_BOARD_INFO_STRUC))
        def Can_ReadBoardInfo(self):
            config=VCI_BOARD_INFO()
            Canstatus=self.Can_ReadBoardInfo_PyInit(config)
    
            print(config.can_Num)
            if Canstatus==0:
                self.loggererror("Read Board Info Can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Read Board Info Success!!")
                self.loggerinfo(Canstatus)
                self.loggerinfo("Can Analysis Board Info like:")
                self.loggerinfo("hw_Version: "+str(config.hw_Version))
                self.loggerinfo("fw_Version: "+str(config.fw_Version))
                self.loggerinfo("dr_Version: "+str(config.dr_Version))
                self.loggerinfo("in_Version: "+str(config.in_Version))
                self.loggerinfo("irq_Num: "+str(config.irq_Num))
                self.loggerinfo("can_Num: "+str(config.can_Num))
                self.loggerinfo("str_Serial_Num: "+str(config.str_Serial_Num))
                self.loggerinfo("str_hw_Type: "+str(config.str_hw_Type))
                self.loggerinfo("Reserved: "+str(config.Reserved))
    
                return Canstatus 
        def Can_GetReceiveNum(self,CanInd):
            Canstatus=self.OpreateCanAnalysis.VCI_GetReceiveNum(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd)
            if Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            elif Canstatus==0:
                self.loggererror("Can Analysis Get Receive Num No data")
                self.loggererror(Canstatus)
            else:
                self.loggerinfo("Can Analysis Get Receive Num Success!!")
                self.loggerinfo(Canstatus)
                return Canstatus  
        def Can_ClearBuffer(self,CanInd):
            Canstatus=self.OpreateCanAnalysis.VCI_ClearBuffer(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            if Canstatus==0:
                self.loggererror("Clear Buffer Can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Clear Buffer Success!!")
                self.loggerinfo(Canstatus)
                return True  
        def Can_StartCAN(self,CanInd):
            Canstatus=self.OpreateCanAnalysis.VCI_StartCAN(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            if Canstatus==0:
                self.loggererror("Start Can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Start Success!!")
                self.loggerinfo(Canstatus)
                return True  
        def Can_ResetCAN(self,CanInd):
            Canstatus=self.OpreateCanAnalysis.VCI_ResetCAN(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            if Canstatus==0:
                self.loggererror("Reset Can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Reset Success!!")
                self.loggerinfo(Canstatus)
                return True  
        def Can_Transmit_PyInit(self,CanInd,Length,VCI_CAN_OBJ_STRUC):
            CanFuncStruc=self.OpreateCanAnalysis.VCI_Transmit#(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            CanFuncStruc.restype = c_uint
            CanFuncStruc.argtypes=[c_uint,c_uint,c_uint,POINTER(VCI_CAN_OBJ),c_uint]
            return CanFuncStruc(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,byref(VCI_CAN_OBJ_STRUC),Length)
        def Can_Transmit(self,CanInd,Length,IDD,Datalen,SenData,):
            #for i in range(Length):
            config=VCI_CAN_OBJ()
            config.ID=IDD
            config.RemoteFlag=0
            config.ExternFlag =0
            config.SendType = 0
            config.DataLen = Datalen
            config.Data=SenData
            self.loggerinfo(SenData)
            
            Canstatus=self.Can_Transmit_PyInit(0,8,config)
            time.sleep(0.1)
            if Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggererror(Canstatus)
            elif Canstatus==0:
                self.loggererror("Can analysis Transmit No data")
                self.loggererror(Canstatus)
            else:
                self.loggerinfo("Can Analysis Data Transmit Success!!")
                self.loggerinfo(Canstatus)
                return Canstatus  
        def Can_Receive_PyInit(self,CanInd,Len,WaitTime,VCI_CAN_OBJ_STRUC):
            CanFuncStruc=self.OpreateCanAnalysis.VCI_Receive#(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,)
            CanFuncStruc.restype = c_uint
            CanFuncStruc.argtypes=[c_uint,c_uint,c_uint,POINTER(VCI_CAN_OBJ),c_ulong,c_int]
            return CanFuncStruc(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],CanInd,byref(VCI_CAN_OBJ_STRUC),Len,WaitTime)
    
     
        def Can_Receive(self,CanInd,Len):
            config=VCI_CAN_OBJ()
            Canstatus=self.Can_Receive_PyInit(CanInd,Len,0,config)
            if Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggererror(Canstatus)
            elif Canstatus==0:
                self.loggererror("Can Analysis Receive No data!!")
                self.loggererror(Canstatus)
            else:
                self.loggerinfo("Can Analysis Receive Success!!")
                self.loggerinfo(Canstatus)
                return Canstatus,config
        def Can_VCI_UsbDeviceReset(self):
            Canstatus=self.OpreateCanAnalysis.VCI_UsbDeviceReset(self.yamlDic['nDeviceType'],self.yamlDic['nDeviceInd'],0)
            if Canstatus==0:
                self.loggererror("Reset USB Can analysis device error!")
                self.loggerinfo(Canstatus)
            elif Canstatus== -1:
                self.loggererror("Can analysis offline!")
                self.loggerinfo(Canstatus)
            else:
                self.loggerinfo("Can Analysis Reset USB Success!!")
                self.loggerinfo(Canstatus)
                return True  
    def main():
        configname="mobileparameter.yaml"
        md=CanAnalysisDriver(configname)
        # md.Opreating_Yaml()
        md.loggerinfo(md.yamlDic)
        
        md.Can_VCIOpenDevice()
        md.Can_VCIInitCan(0)
        md.Can_StartCAN(0)
        md.Can_ResetCAN(0)
        md.Can_ReadBoardInfo()
        comd=MobileDriverCommands()
        md.Can_Transmit(0,1,1,8,comd.REQUEST_ENCODER_1)
        time.sleep(0.3)
        renum=md.Can_GetReceiveNum(0)
        ret,kk=md.Can_Receive(0,1)
    
        while renum:
            
            transmit_status=md.Can_Transmit(0,1,1,8,comd.REQUEST_ENCODER_1)
            if transmit_status:
                # time.sleep(0.1)
                ret,kk=md.Can_Receive(0,1)
                if ret:
                    if list(kk.Data)[0]!=0 and list(kk.Data)[0]!=127:
                        print('my data 1',list(kk.Data))
                        print(kk.DataLen)
            else:
                print('my data 2',list(kk.Data))
                print(kk.DataLen)
            transmit_status=md.Can_Transmit(0,1,2,8,comd.REQUEST_ENCODER_2)
            if transmit_status:
                # time.sleep(0.1)
                ret,kk=md.Can_Receive(0,1)
                if ret:
                    if list(kk.Data)[0]!=0 and list(kk.Data)[0]!=127:
                        print('my data 2',list(kk.Data))
                        print(kk.DataLen)
            else:
                print('my data 2',list(kk.Data))
                print(kk.DataLen)
            transmit_status=md.Can_Transmit(0,1,3,8,comd.REQUEST_ENCODER_3)
            if transmit_status:
                # time.sleep(0.1)
                ret,kk=md.Can_Receive(0,1)
                if ret:
                    if list(kk.Data)[0]!=0 and list(kk.Data)[0]!=127:
                        print('my data 3',list(kk.Data))
                        print(kk.DataLen)
            else:
                print('my data 3',list(kk.Data))
                print(kk.DataLen)
            transmit_status=md.Can_Transmit(0,1,4,8,comd.REQUEST_ENCODER_4)
            if transmit_status:
                # time.sleep(0.1)
                ret,kk=md.Can_Receive(0,1)
                if ret:
                    if list(kk.Data)[0]!=0 and list(kk.Data)[0]!=127:
                        print('my data 4',list(kk.Data))
                        print(kk.DataLen)
            else:
                print('my data 4',list(kk.Data))
                print(kk.DataLen)
        md.Can_VCICloseDevice()
    if __name__=="__main__":
        main()
    
    展开全文
  • 挺不错的资源,支持PC104-CAN PC104-CAN2 ISA-9620 ISA-5420 PCI-5110 PCI-5121 PCI-9810 (PCI-9810I) PCI-9820 PCI-9820I PCI-9840 USBCAN (USBCAN-I USBCAN-I+ USBCAN-II USBCAN-II+ USBCAN-2A) DNP9810 PEC9920 ...
  • Qt实现周立功CAN

    2017-12-19 10:52:43
    使用Qt5.7调用周立功CANTest动态库文件完成CANTest的基本收发数据的功能。文件包含三个版本,大家可以参考使用!
  • 周立功USBCAN函数库ControlCAN.dll最新版

    热门讨论 2016-06-23 22:47:38
    C/C++版周立功USBCAN函数库ControlCAN.dll最新版(2016年6月),旧版的在win10上不能运行,新版的在win10可顺利运行。
  • 周立功的usbcan产品完整的驱动及资料,包括了接口函数、驱动、测试软件等。
  • CAN的Matlab驱动

    2015-03-25 14:48:22
    用于驱动周立功USBCAN的MATLAB guide程序
  • 周立功CAN用户手册

    2018-03-21 16:54:31
    周立功CAN用户手册和驱动,周立功USBCANtest软件驱动,包括使用说明。
  • 周立功CAN分析仪USBCAN_E_U Win7x64专用驱动
  • 周立功canfd python API

    2020-02-15 15:01:44
    周立功canfd api文档和demo
  • 周立功CAN卡的上位机软件,cantest官网上的资源下下来都打不开在这儿存放可以用的版本。
  • 使用Qt二次开发周立功CAN(一)

    千次阅读 多人点赞 2020-08-29 12:22:51
    使用Qt二次开发周立功CAN(一) ** 使用Qt二次开发周立功的CAN通信,第一步需要完成动态链接库的加载,成功加载之后才能调用其提供的接口函数。加载库需要注意的问题有两个:一是Qt版本和动态链接库的版本必须匹配,...
  • 资源为QT显示调用周立功CAN卡实例。因为自己学习QT的时间并不长,有很多不懂的,为了解决qt调用CAN卡第三方库花了很长时间,后来发现其实很简单,只是步骤有些许繁琐。先将一个简单实例共享,希望为大家提供便利。...
  • 周立功CAN通用上位机例程(C#)

    热门讨论 2015-09-22 21:29:19
    本文件夹中所带的例子可操作以下型号设备 PC104-CAN PC104-CAN2 ISA-9620 ISA-5420 PCI-5110 PCI-5121 ...USBCAN (USBCAN-I USBCAN-I+ USBCAN-II USBCAN-II+ USBCAN-2A) DNP9810 PEC9920 PCIE9220
  • Matlab调用CAN动态库

    2018-01-31 00:57:26
    Matlab调用CAN动态库Matlab调用CAN动态库Matlab调用CAN动态库

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 423
精华内容 169
关键字:

周立功can驱动