关于FLASH发送读取数据函数

[复制链接]
578|0
 楼主| 那个叫黑的人 发表于 2020-4-25 21:28 | 显示全部楼层 |阅读模式
u8 SPI_FLASH_SendByte(u8 byte)
{
    SPITimeout = SPIT_FLAG_TIMEOUT;

/* 等待发送缓冲区为空, TXE 事件 */
while (SPI_I2S_GetFlagStatus(FLASH_SPIx, SPI_I2S_FLAG_TXE) == RESET)零死角玩转 STM32F103—指南者

{
if ((SPITimeout--) == 0) return SPI_TIMEOUT_UserCallback(0);
}

/* 写入数据寄存器,把要写入的数据写入发送缓冲区 */
SPI_I2S_SendData(FLASH_SPIx, byte);

SPITimeout = SPIT_FLAG_TIMEOUT;

/* 等待接收缓冲区非空, RXNE 事件 */
while (SPI_I2S_GetFlagStatus(FLASH_SPIx, SPI_I2S_FLAG_RXNE) == RESET)
{
if ((SPITimeout--) == 0) return SPI_TIMEOUT_UserCallback(1);
}
/* 读取数据寄存器,获取接收缓冲区数据 */
return SPI_I2S_ReceiveData(FLASH_SPIx);
}

问题是,等待事件超时处理中的时间这个变量怎么确定,要根据SPI通讯的速度改变么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

370

主题

370

帖子

0

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