3.5库中例程中一点疑问

[复制链接]
8684|3
 楼主| 123456wm 发表于 2012-5-2 19:29 | 显示全部楼层 |阅读模式
本帖最后由 123456wm 于 2012-5-2 19:32 编辑
  1. while (TxIdx < BufferSize)
  2. {
  3. /* Wait for SPIy Tx buffer empty */
  4. while (SPI_I2S_GetFlagStatus(SPIy, SPI_I2S_FLAG_TXE) == RESET);
  5. /* Send SPIz data */
  6. SPI_I2S_SendData(SPIz, SPIz_Buffer_Tx[TxIdx]);   //为什么不用判断SPIz的SPI_I2S_FLAG_TXE为空
  7. /* Send SPIy data */
  8. SPI_I2S_SendData(SPIy, SPIy_Buffer_Tx[TxIdx++]);
  9. /* Wait for SPIz data reception */
  10. while (SPI_I2S_GetFlagStatus(SPIz, SPI_I2S_FLAG_RXNE) == RESET);
  11. /* Read SPIz received data */
  12. SPIz_Buffer_Rx[RxIdx] = SPI_I2S_ReceiveData(SPIz);
  13. /* Wait for SPIy data reception */
  14. while (SPI_I2S_GetFlagStatus(SPIy, SPI_I2S_FLAG_RXNE) == RESET);
  15. /* Read SPIy received data */
  16. SPIy_Buffer_Rx[RxIdx++] = SPI_I2S_ReceiveData(SPIy);
  17. }
airwill 发表于 2012-5-3 09:53 | 显示全部楼层
这里充分利用了双缓冲的特性.
这没有问题, 但不能把这个方法照搬到其他处理器上.
 楼主| 123456wm 发表于 2012-5-4 01:00 | 显示全部楼层
2# airwill 谢谢,我再查一下资料
香水城 发表于 2012-5-4 09:59 | 显示全部楼层
估计2个SPI的速率一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部