通过Cypress Cy7C65211/3/5 USB到UART/I2C/SPI/GPIO桥接器访问各种I2C/SPI/GPIO可访问芯片的库。

ucdev的Python项目详细描述


python库访问cypress cy7c6521x(cy7c65211、cy7c65213或cy7c65215)usb串行桥(usb到uart/i2c/spi/gpio)芯片。 还包括通过I2C/SPI访问各种芯片的库。当前包括用于

  • 北欧NRF24L01无线收发器(SPI)
  • MpU-6050三轴加速度计+三轴陀螺仪(I2C)
  • 霍尼韦尔HMC583L三轴磁力仪(I2C)
  • Si4702调频收音机接收器(目前为I2C,附加SPI模式正在进行中)

##用法(cy7c6521x)

>>> from ucdev.cy7c65211 import CyUSBSerial, CyGPIO, CySPI
>>>
>>> # load DLL provided by Cypress
>>> lib = CyUSBSerial(lib="cyusbserial")
>>>
>>> # use first device found
>>> dev = lib.find().next()
>>>
>>> # access GPIO
>>> gpio = CyGPIO(dev)
>>> gpio.set(3, 1)
>>> ret = gpio.get(3)
>>>
>>> # access each GPIO pin
>>> pin = gpio.pin(3)
>>> pin.set(1)
>>> ret = pin.get()
>>>
>>> # access SPI
>>> spi = CySPI(dev)
>>> ret = spi.send("any-data-to-be-clocked-out")

##用法(nrf24l01)

>>> from ucdev.nrf24 import *
>>>
>>> tx = nRF24(CySPI(dev), CE=CyGPIO(dev).pin(0))
>>> tx.reset(MODE_SB|DIR_SEND)
>>> tx.TX_ADDR = tx.RX_ADDR_P0 = 0xB3B4B5B6C2
>>> tx.send("some-payload-len-of-max-32-bytes")
>>>
>>> print tx.FIFO_STATUS.TX_EMPTY
>>> print tx.CONFIG

##注意 这需要cyusbserial.dll(或libcyusbserial.so)库 由柏树提供。

当前的发展重点是GPIO和SPI功能 使用Nordic NRF24无线收发器芯片。参见示例脚本 在bin/文件夹下查看详细信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数