前面的几个章节的介绍,基本把usbTOcan的底层代码设计好,现在需要介绍PC端的PyUSB进行简单的测试。

在文章开始之前,需要简单的介绍一下整个系统。

0 | 部署

这里使用了两块TM4C123GXL开发板,一块用来周期性的发送CAN报文,另一块则是usbTOcan的主体,如下图所示

实物图如下,使用了层叠的方式,这样节约空间,同时简化了焊接

1 | PyUSB介绍

PyUSB旨在成为一个易于使用的Python模块来访问USB设备。PyUSB依赖于本地系统库来进行USB访问。目前,它可以直接使用libusb 0.1、libusb 1.0、libusbx、libusb-win32和OpenUSB,也可以使用任何Python版本(从2.4开始),包括Python 3版本。[有道翻译]

2 | PyUSB安装

pip install pyusb

  

3 | PyUSB

使用以下代码,周期性的读取usbTOcan接收到的CAN报文

import usb.core
import usb.util
import array dev = usb.core.find(idVendor=0x1cbe, idProduct=0x0003)
if dev is None:
raise ValueError('Device not found') while True:
try:
data = dev.read(0x82, 64)
msginfo = get_msg_info(data)
print(hex(msginfo.timestamps)+ " " + hex(msginfo.canid) + " " + hex(msginfo.dlc) + " "+msginfo.data_in_string) except usb.core.USBError as e:
if e.args == ('Operation timed out',):
continue

  

如下图所示,打印输出窗口的值分别对应时间戳,CANID,DLC,数据

-----------------------------------------------------------------------------------END

[参考资料]

最新文章

  1. Dynamics CRM 2015-Sign Out选项
  2. AppDelegate动态加载StoryBoard
  3. 《2016ThoughtWorks技术雷达峰会----js爆炸下的技术选型》
  4. SolrCloud-如何在.NET程序中使用
  5. Hive_进阶
  6. activity_main.xml与fragment_main.xml
  7. HTML超出文本显示省略号...[text-overflow]
  8. 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:3.技术简介之MinaFilter——LoggingFilter (转)
  9. HDN2048(交错复发)
  10. GC(垃圾回收)
  11. CMFCShellList和自定义ShellList结合使用,达到“直接浏览缩略图,双击打开图片”
  12. 从零开始学 Web 之 CSS(三)链接伪类、背景、行高、盒子模型、浮动
  13. 【技术讨论】RF环境搭建手册
  14. shell升级完整记录
  15. jeecg平台testDatagrid
  16. 树状数组Lowbit用法
  17. SIGPIPE导致cronttab和shell脚本等工作异常
  18. Android开发之发送邮件功能的实现(源码分享)
  19. js实现分页的几个源码,看完基本就懂了
  20. query更多的筛选用法

热门文章

  1. Arcpy按属性(字段值)不同将shp分割为多个独立shp_适用点线面矢量
  2. mysql三种提交类型
  3. 再谈多线程模型之生产者消费者(多生产者和多消费者 )(c++11实现)
  4. 【LeetCode】544. Output Contest Matches 解题报告 (C++)
  5. 【LeetCode】750. Number Of Corner Rectangles 解题报告 (C++)
  6. 【LeetCode】506. Relative Ranks 解题报告(Python)
  7. 【LeetCode】686. Repeated String Match 解题报告(Python & C++)
  8. CapstoneCS5212|DP to VGA|CS5212设计电路方案
  9. SpringMVC+Spring+Mybatis实现登录注册Demo
  10. 从0开始手把手带你入门Vue3-全网最全(1.1w字)