打印

3.5库中例程中一点疑问

[复制链接]
8243|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
123456wm|  楼主 | 2012-5-2 19:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 123456wm 于 2012-5-2 19:32 编辑
 while (TxIdx < BufferSize)
{
/* Wait for SPIy Tx buffer empty */
while (SPI_I2S_GetFlagStatus(SPIy, SPI_I2S_FLAG_TXE) == RESET);
/* Send SPIz data */
SPI_I2S_SendData(SPIz, SPIz_Buffer_Tx[TxIdx]);   //为什么不用判断SPIz的SPI_I2S_FLAG_TXE为空
/* Send SPIy data */
SPI_I2S_SendData(SPIy, SPIy_Buffer_Tx[TxIdx++]);
/* Wait for SPIz data reception */
while (SPI_I2S_GetFlagStatus(SPIz, SPI_I2S_FLAG_RXNE) == RESET);
/* Read SPIz received data */
SPIz_Buffer_Rx[RxIdx] = SPI_I2S_ReceiveData(SPIz);
/* Wait for SPIy data reception */
while (SPI_I2S_GetFlagStatus(SPIy, SPI_I2S_FLAG_RXNE) == RESET);
/* Read SPIy received data */
SPIy_Buffer_Rx[RxIdx++] = SPI_I2S_ReceiveData(SPIy);
}
沙发
airwill| | 2012-5-3 09:53 | 只看该作者
这里充分利用了双缓冲的特性.
这没有问题, 但不能把这个方法照搬到其他处理器上.

使用特权

评论回复
板凳
123456wm|  楼主 | 2012-5-4 01:00 | 只看该作者
2# airwill 谢谢,我再查一下资料

使用特权

评论回复
地板
香水城| | 2012-5-4 09:59 | 只看该作者
估计2个SPI的速率一样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

18

帖子

0

粉丝