BeagleBone SPI使用mmap

时间:2014-09-10 21:37:41

标签: python beagleboneblack spi

我无法使用python mmap配置我的BBB for SPI。

我自己一直在使用Adafruit_BBIO.SPI(类似的方法一直在为Adafruit_BBIO.GPIO工作),而不是自己滚动设备树覆盖。这很好用,通过SPIdev,我可以发送数据。但是一旦我使用mmap到SPI_TX0,就会出现总线错误。

我可以通过将时钟域打开到SPI外设来解决总线错误:

ctrl = struct.unpack('<L', CM_PER[CM_PER_SPI0_CLKCTRL:CM_PER_SPI0_CLKCTRL+4])[0]
ctrl &= ~(0b11 << 16 | 0b11)
ctrl |= 2
CM_PER[CM_PER_SPI0_CLKCTRL:CM_PER_SPI0_CLKCTRL+4] = struct.pack('<L', ctrl)

但我不明白为什么这是必要的;不应该Adafruit_BBIO已经开启了时钟域吗?

更重要的是,SPI0 [SPI_TX0:SPI_TX0 + 4] = struct.pack('< L',数据)是什么都不做。

0 个答案:

没有答案