通过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/文件夹下查看详细信息。