本文是通过Python使用Kvaser产品三篇系列文章的第一篇:

你知道你可以从 Python 访问 Kvaser CANlib 吗?现在 Kvaser CANlib SDK 中包含的 CANlib 已经支持Python 包装器一段时间了,但是我们最近对其进行了全面改造,如我们这里要提到的,程式库更丰富以及功能更多。目前,包装器仅在 Python v2.7 中进行了测试,不兼容 Python v3。

SDK 最新版见www.kvaser.cn/downloads/ (当前版本为v 5.9 发布日期为2015-03-17)。如果您打算直接编辑示例,请确保将SDK安装到具有写入权限的位置(默认位置 C:\Program Files (x86)\Kvaser\Canlib\ 并不是最理想的保存位置。,如下所示,我选择了C:\temp\.的一个子目录)

下载的 Python 示例目录现在包含 CANlib 和 kvrlib 二者的包装器。要了解如何使用它们,请参阅每个包装器文件的底部。例如:如下所示的 canlib.py。

import sys

sys.path.append("C:/temp/Canlib_SDK_v5.9/Samples/Python")

import canlib

cl = canlib.canlib()

print "canlib version: %s" % cl.getVersion()

channel = 0

handle1 = cl.openChannel(channel, canlib.canOPEN_ACCEPT_VIRTUAL)

print "Using channel: %s, EAN: %s" % (handle1.getChannelData_Name(),

handle1.getChannelData_EAN())

handle1.setBusOutputControl(canlib.canDRIVER_NORMAL)

handle1.setBusParams(canlib.canBITRATE_1M)

handle1.busOn()

运行上述代码输出结果为:

canlib version: 8.9

Using channel: Kvaser Ethercan Light HS (Remote) (channel 0), EAN: 73-30130-00713-0

CANlib的老用户都知道,输出的canlib.dll版本号(8.9)与CANlib软件包(v5.9)的版本号不同。

添加变量sys.path(如第2行所示)是通过Python可以访问模块的一种方法,更普遍的方法是在调用脚本之前设置环境变量PYTHONPATH。

Python包装器使用ctypes与Kvaser CANlib进行对接。这是Python的外部函数库,它提供可兼容C语言的数据类型,并允许在DLL或共享库中调用函数。这意味着也可以在Linux上使用这些示例(但是由于kvrlib尚未移植到Linux,因此目前仅限于CANlib)。

在下一篇文章中,我们会了解如何使用Python连接到远程设备。

2015-05-22编辑:申明当前的包装器是为Python v2.7所编写。

若有任何评论,请直接通过support@kvaser.com与我们联系。

python如何使用sdk_如何通过Python访问Kvaser CANlib 软件开发包|Kvaser CANlib SDK的应用...相关推荐

  1. python期货交易策略_GitHub - guyimin/tqsdk-python: 期货量化交易策略程序开发包, 实时行情/历史数据/实盘交易...

    TqSdk 量化交易策略程序开发包 TqSdk 是一个由信易科技发起并贡献主要代码的开源 python 库. 依托快期多年积累成熟的交易及行情服务器体系, TqSdk 支持用户使用极少的代码量构建各种 ...

  2. python获取期货行情_GitHub - lyymee/tqsdk-python: 期货行情/历史数据/交易 开发包

    Introduction TqSdk 是一套依托 DIFF协议 (Differential Information Flow for Finance) 的开源 python 框架. 它支持用户使用较少 ...

  3. python获取图片像素矩阵_用python处理图片实现图像中的像素访问

    这篇文章主要介绍了关于用python处理图片实现图像中的像素访问,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然 ...

  4. python像素大于_用python处理图片实现图像中的像素访问

    前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然后直接对这个PIL对象进行操作.如果只是简单的操作还可以,但是如果操作稍微复杂一些,就比较吃力了.因此,通常我们加载完图片后,都 ...

  5. python达梦数据库_Python 编程可以访问达梦数据吗?

    可以,但官方只给了python2.7版本的包,python3目前无法使用,此外达梦自己的linux客户端只支持redhat或者centos.请首先在系统安装达梦客户端,下载地址如下: 具体流程如下: ...

  6. Python+花生壳搭建一个外网访问本地文件的服务器

    1.首先电脑要安装python并且配置环境变量 (安装Python时勾选 Add Python to PATH,可以自动配置环境变量) 官网:Python.org 2.安装完成后,按下 [win+R  ...

  7. 【Python中的权限错误:无法访问文件】-- 解决方案

    [Python中的权限错误:无法访问文件]-- 解决方案 在Python编程过程中,我们常常会遇到文件读写.创建.删除等操作.有时候当我们试图进行这些操作时,会出现"PermissionEr ...

  8. Python教程:python中二维列表的创建、访问、应用详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中二维列表的创建.访问.应用详解>.本知识点主要内容有:二维列表的概念.直接定义二维列表.使用嵌套的for循环创 ...

  9. python - 啃书 第十一章 数据库访问

    概述 与使用文件存储数据相比,使用数据库存储和管理数据更容易实现数据共享.降低数据冗余.保持数据独立性,以及增强数据的一致性和可维护性. 现在数据库技术已经广泛应用于电子邮件.金融业.网站.办公自动化 ...

  10. python读取日志统计ip_使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

最新文章

  1. CVPR和ICLR双榜公布,最离谱审稿人竟然没读论文!
  2. RabbitMQ脑裂问题解决方案调查
  3. 利用循环神经网络生成唐诗_【机器学习】【期末复习】闲聊神经网络 分类
  4. linux版本更新,滚动更新与固定版本Linux之争
  5. 在分类的意义上最稳定的物体是什么?
  6. Docker Review - 图形化工具 Portainer
  7. Debug实验学习汇编
  8. 如何选择正确的HTTP状态码
  9. 如何将网站升级为HTTPS协议(整理)
  10. 关于MDI窗体的那些问题
  11. 对于学习编程,你认为英语和数学哪个重要?
  12. day7-字典和集合作业
  13. python计算方差膨胀因子_可决系数R^2和方差膨胀因子VIF
  14. 【vue】设置浏览器上方的标题和图标
  15. java 阴阳师个人脚本
  16. tv电视焦点(遥控器)操作笔记jq
  17. 让你脊背发凉的10个故事
  18. Google GMS认证问题
  19. 雨听 | 英语学习笔记(五)~作文范文:学生退学
  20. 【比特鹏哥C语言_1.初识C语言】

热门文章

  1. 1. 架构到底是指什么? 容易混淆的概念
  2. 教你三秒钟将电脑速度提高三倍
  3. Chrome OS 初体验
  4. 爬虫 + 数据分析 - 7 CrawlSpider(全站爬取), 分布式, 增量式爬虫
  5. 1534 棋子游戏(博弈论)
  6. 基于STM32制作万能遥控器---2
  7. ubuntu system setting no everthing
  8. 基于微信小程序的停车位预约系统设计与实现毕业设计毕设开题报告
  9. access 2016 迁移到 mysql_将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)
  10. 暗通道去雾算法原理及实现