Raspberry PI计算模块 - SPI1

时间:2015-06-09 13:21:16

标签: kernel raspberry-pi driver raspbian spi

我正在使用 Raspberry PI Compute Module ,我想使用 SPI1

但是有一场斗争。

是否有驱动程序或者您有想法如何使用它? 因为只有SPI0的驱动程序是Raspberry PI B +中唯一可访问的SPI。

谢谢。

1 个答案:

答案 0 :(得分:0)

我也没有找到合适的内核。但是,是的,你可以使用这个写得很好的库: http://abyz.co.uk/rpi/pigpio/index.html

要使用第二个SPI,请使用x_pigpio.c中的示例程序void tc()。 更改

中的参数
h = spiOpen(1, 50000, 0);

在gpio.h中,您可以检查3个参数中的内容:

int spiOpen(unsigned spiChan, unsigned baud, unsigned spiFlags);

spiChan:0-1(A + / B + / Pi2辅助设备为0-2)波特:32K-125M(30M以上的值不太可能起作用)和spiFlags:

如果OK,则返回句柄(> = 0),否则返回PI_BAD_SPI_CHANNEL, PI_BAD_SPI_SPEED,PI_BAD_FLAGS,PI_NO_AUX_SPI或PI_SPI_OPEN_FAILED。 spiFlags由最低有效位22位组成。

。 。 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  b b b b b b R T n n n W A u2 u1 u0 p2 p1 p0 m m 。

mm定义SPI模式。

所以现在您明白了,您可以举例,更改参数或spiOpen,并且它正在工作。

spiChan = 1
spiFlags = PI_SPI_FLAGS_GET_AUX_SPI(1)

确认它正常工作的最佳方法是在MISO和MOSI引脚之间进行循环,并使用逻辑分析仪检查您的消息是否可读。