Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C SPI EP93xx(带Linux的TS7200板)_C_Linux_Arm_Embedded_Spi - Fatal编程技术网

C SPI EP93xx(带Linux的TS7200板)

C SPI EP93xx(带Linux的TS7200板),c,linux,arm,embedded,spi,C,Linux,Arm,Embedded,Spi,我使用的是嵌入式Arm的7200板。该板承载linux内核2.6并安装EP9302 arm9。 我们需要使用SPI接口,以便与加速计(LIS3DSH)和一些PT100(MAX31865)通信 我们解决这个问题的方法实际上是基于对EP9302寄存器进行位扫描,就像嵌入式Arm提供的这个示例(文件tempSensor.C at)一样。请注意,在这种情况下,传感器“嵌入”在电路板中。最后我们用C语言编程 不幸的是,我们所有的尝试都失败了。 问题:你知道如何在EP93xx上使用SPI吗?有代码或示例吗

我使用的是嵌入式Arm的7200板。该板承载linux内核2.6并安装EP9302 arm9。 我们需要使用SPI接口,以便与加速计(LIS3DSH)和一些PT100(MAX31865)通信

我们解决这个问题的方法实际上是基于对EP9302寄存器进行位扫描,就像嵌入式Arm提供的这个示例(文件tempSensor.C at)一样。请注意,在这种情况下,传感器“嵌入”在电路板中。最后我们用C语言编程

不幸的是,我们所有的尝试都失败了。
问题:你知道如何在EP93xx上使用SPI吗?有代码或示例吗

好的,谢谢大家的建议和提示。 我解决了我的问题。由于我没有使用驱动程序,但我直接在微寄存器中输入位,因此产生了附带影响: -每次我在SPI写入寄存器中写入内容时,数据都会写入MOSI,MISO上的数据会在FIFO缓冲区中传输。从属设备是否应答并不重要!这就是问题所在

解决方案:每次在SPI“输出”寄存器中写入内容时。始终读取FIFO“输入”寄存器。永远

例如,在配置从寄存器时,我没有读取输入FIFO(设备没有响应,但您应该始终读取(清除)FIFO!)

我用示波器注意到了这个问题。谢谢你的帮助。
我在问题中提供的例子是有效的,因为在“写”之后总是有一个“读”

如果我没记错的话,LIS加速计并没有很好地遵循SPI事实标准,但是有各种模糊的计时规格。因此,如果您有一些通用标准SPI驱动程序,它可能不会工作。首先感谢您的回复。我不使用SPI驱动程序,我直接在微控制器寄存器中写入。我们的尝试失败是什么意思。您正在测试spi输出吗?数据正确发送,但从设备没有应答?没有数据输出?你也应该发布你的努力。寻找完整的解决方案正在进行中。我们可以更详细地了解您的尝试吗?另外,您是否尝试过直接联系技术系统?他们的支持似乎适合这个问题: