我正在使用 Raspberry PI Compute Module ,我想使用 SPI1 。
但是有一场斗争。
是否有驱动程序或者您有想法如何使用它? 因为只有SPI0的驱动程序是Raspberry PI B +中唯一可访问的SPI。
谢谢。
答案 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引脚之间进行循环,并使用逻辑分析仪检查您的消息是否可读。