野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10365|回复: 3

关于FLASH发送读取数据函数

[复制链接]
发表于 2018-3-21 09:53:40 | 显示全部楼层 |阅读模式
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通讯的速度改变么?

回复

使用道具 举报

发表于 2018-3-21 10:08:14 | 显示全部楼层
这个没有定,可以直接设置个大点的值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-21 11:06:49 | 显示全部楼层
随风 发表于 2018-3-21 10:08
这个没有定,可以直接设置个大点的值

好的 谢谢啦。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2018-3-21 14:16:48 | 显示全部楼层
超时一般根据需求 设定的 防止程序在这一块
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-29 20:29 , Processed in 0.030299 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表