python适用于哪些芯片_用pyusb在Python中开发CY7C68013,利用,PyUSB,进行,芯片,的,上位,机...
目录前言尽管现在USB技术飞速发展,USB传输的速度在不断的提高,但是CY7C68013这款芯片在某些低速场景下仍然适用。因此,基于Python开发出其对应的上位机具有一定的现实需求。然而,笔者在实际开发过程中遇到了很多问题,最致命的问题就是Python如何接收到USB传来的数据,即驱动的安装。现有的文章综合体来说给出了一个解决方案,但是写的比较晦涩难懂,亦或是不能解决笔者在实际开发中遇到的问题,
目录
前言
尽管现在USB技术飞速发展,USB传输的速度在不断的提高,但是CY7C68013这款芯片在某些低速场景下仍然适用。因此,基于Python开发出其对应的上位机具有一定的现实需求。然而,笔者在实际开发过程中遇到了很多问题,最致命的问题就是Python如何接收到USB传来的数据,即驱动的安装。
现有的文章综合体来说给出了一个解决方案,但是写的比较晦涩难懂,亦或是不能解决笔者在实际开发中遇到的问题,故写下这篇文章记录一下基于Pyusb库的CY7C68013芯片上位机开发。
1、驱动安装
驱动的应该遵循以下步骤安装:
1)安装CySuiteUSB_3_4_7_B204.exe,这个是厂家提供的驱动,据说不适用于win10系统,后面需要更新;
2)在插上CY7C68013设备,在资源管理器中找到设备,手动更新驱动,指定文件夹为Win7_8_10_Drivers(文末提供);
3)下载libusb-1.0.20的压缩包,选择MS64\dll\libusb-1.0.dll,复制到C:\Windows\System32(文末提供libusb-1.0.dll,以及libusb-1.0.20的压缩包)
4)选择同目录下的libusb-1.0.lib到Python环境,我用的环境是conda的Python,所以就复制到C:\Anaconda3\Lib下(文末提供libusb-1.0.lib)
5)此时,务必使用zadig再一次安装驱动,打开zadig,找到设备EZ-USB,它默认的驱动是CYUSB,需要更新为libusb-win32,这一个过程时间可能稍长。另外,经过这一个操作以后,在win中的资源管理器里面已经找不到设备了,但是不妨碍我们使用,并且在开发中USB口不能够更换,否者也会找不到设备;
6)安装pyusb库,pycharm中可能找不到这个库,直接在Terminal中输入 pip install pyusb,回车即可
7)至此,USB的驱动已经全部开发完毕。
2、USB开发
在python开发USB真的非常简单,只需要简单的几句代码,对于高速的数据传输,建议新开一个线程专门用来接收数据
import usb.util
class MyUSB:
"""
操作USB相关的类
"""
# USB设备初始化
def __init__(self, idVendor=0x04B4, idProduct=0x1004): # idVendor=0x04B4, idProduct=0x1004
super().__init__()
self.USBData = 0 # USB接收到的数据
self.USBUpdateFlag = False # USB接收到数据更新
# USB设备信息
self.idVendor = idVendor
self.idProduct = idProduct
# USB设备对象
self.dev = None
# 接收USB数据
def rx_loop(self):
self.dev = usb.core.find(idVendor=self.idVendor, idProduct=self.idProduct)
if self.dev is None:
raise ValueError('Device not found')
else:
self.dev.set_configuration()
while True:
try:
a = self.dev.read(0x86, 1024, 1000)
print(a)
except Exception as e:
print(e)
# 写USB数据
def tx_loop(self):
while True:
try:
data = self.dev.write() # write(endpoint, data, timeout = None)
print(data)
except Exception as e:
print(e)
3、一些资源
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)