TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335x的SPI可以配置为主机仅接收,字长16位,使用FIFO,FIFO深度8*2个字节,当FIFO完成接收后产生中断

如题,我应该怎么配置在主机仅接收的模式时,采用FIFO完成多个字(16位)的接收,当FIFIO达到几乎满的时候产生中断。谢谢

Steven Liu1:

建议你按照AM335x的TRM手册的24.3.11 Programming Aid章节,就是对应的MCSPI中的这一节内容,来编写这个流程。

我爱下载:

回复 Steven Liu1:

就是说这个方式是可以实现的

我爱下载:

回复 我爱下载:

测试没有成功,是否可以提供初始化的代码给我参考一下,基于starterwire的,谢谢

Jian Zhou:

回复 我爱下载:

没有看到MCSPI里面有控制FIFO深度的寄存器啊,理论上应该是FIFO满了就报中断的。

我爱下载:

回复 Jian Zhou:

mcspi的fifo可以设置几乎满数量和几乎空数量。

Jian Zhou:

回复 我爱下载:

是不是MCSPI_XFERLEVEL这个寄存器,配置之后有效果么?

我爱下载:

回复 Jian Zhou:

实践证明,引脚上没有任何输出。

ch0conf=200107d4,ch0ctrl=1,ch0stat=0,irqen=4,irqsta=0,modctl=1,sysconf=15,syssta=1,syst=0,xfer=0

从寄存器中都回来的数据,请看看是否会有输出

Jian Zhou:

回复 我爱下载:

之前SPI正常工作的时候,这个寄存器是怎么配置的?

我爱下载:

回复 Jian Zhou:

spi可以通讯了,原因是必须在开始spi通讯前,调用函数McSPICSAssert(),否则spi不会输出任何东西,尽管你根本不使用spi的引荐cs,也必须调用。

另外,关于FIFO还是有些没有理解,我一次spi通讯要接受8个字(每个spi通讯是16位),我如果系统现在发送FIFO中填好8个字,然后等待这个中断MCSPI_INT_EOWKE,接收fifo中的8个字,是否可以

我爱下载:

回复 我爱下载:

这样做可以大大减少中断次数,不然必须8次中断

赞(0)
未经允许不得转载:TI中文支持网 » AM335x的SPI可以配置为主机仅接收,字长16位,使用FIFO,FIFO深度8*2个字节,当FIFO完成接收后产生中断
分享到: 更多 (0)