打印

关于FLASH发送读取数据函数

[复制链接]
322|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝