2016-11-24 87 views
0

如何使用Spi通信将主站和从站同步?我已经从主设备生成了一个10ms的实时时钟(除了miso,mosi,cs,sck),现在我必须在每个时钟上升沿同步我的从设备,从设备必须开始读取传感器的数据(从ADC获取)和使用时间片(每2.5 ms)对数据的主要请求,如果从器件有数据,它将发送。现在我的问题是在main()中,我应该使用while(1)(或者我应该?),当它读取数据时,我无法确定需要多少时间才能读取数据。有没有其他解决方案可以同步? (我正在使用LPC1343)ARM中主从站的Spi通信同步

+0

目前还不清楚您是否编码主站或从站。如果从机具有某种形式的智能,则它可以连续读取数据,这样当主机需要它时,它就已经可用并且放置在MISO使用的数据缓冲区中。 – Lundin

回答

0

通常将SPI ADC配置为自主采样数据并翻转IO以指示数据可用,即由IO中断捕获。

如果您希望SPI Slave同步工作,则必须每隔10ms告诉他“立即采样”。它被称为轮询。

你的计时器中断应该调用一个例程来触发轮询机制。