资源简介
spiflash w25q128驱动函数 包含block擦数,sector擦数 页写 多页写 页读 多页读函数 已调试通过
代码片段和文件信息
/*****************************************************************************
** 文件名称:flash.c
** 功 能:
** 修改日志:
******************************************************************************/
#include “includes.h“
/*****************************************************************************
** 文件名称:uint8_t SpiFlash_ReadOneByte(void)
** 功 能:
** 修改日志:
******************************************************************************/
uint8_t SpiFlash_ReadOneByte(void)
{
uint8_t BitCount = 0;
uint8_t retValue = 0;
SPIFlash_Set_SCLK; //时钟线拉高恢复时钟线为高电平
for(BitCount = 0;BitCount < 8; BitCount++)
{
retValue <<= 1;
SPIFlash_Set_SCLK; //时钟线拉高恢复时钟线为高电平
if(SPIFlash_Get_DI)
{
retValue |= 0x01;
}
else
{
retValue &= 0xFE;
}
SPIFlash_Clr_SCLK; //时钟线拉低产生下降沿读出数据
}
SPIFlash_Set_SCLK;
return (retValue);
}
/*****************************************************************************
** 文件名称:void SpiFlash_WriteOneByte(uint8_t DataBuffer)
** 功 能:
** 修改日志:
******************************************************************************/
void SpiFlash_WriteOneByte(uint8_t DataBuffer)
{
uint8_t BitCount = 0;
SPIFlash_Clr_SCLK; //时钟线拉低,恢复时钟线为低电平
for(BitCount = 0;BitCount < 8; BitCount++)
{
SPIFlash_Clr_SCLK; //时钟线拉低,恢复时钟线为低电平
if(DataBuffer & 0x80)
{
SPIFlash_Set_DO;
}
else
{
SPIFlash_Clr_DO;
}
DataBuffer <<= 1;
SPIFlash_Set_SCLK; //时钟线拉高,产生上升沿写入数据
}
SPIFlash_Clr_SCLK;
SPIFlash_Set_DO; //一字节数据传送完毕,MOSI数据线置高表示空闲状态
}
/*****************************************************************************
** 文件名称:static uint8_t SpiFlash_Write_CMD(uint8_t *CMD)
** 功 能:
** 修改日志:
******************************************************************************/
static uint8_t SpiFlash_Write_CMD(uint8_t *CMD)
{
uint32_t i = 0;
for(i = 0;i < SPIFLASH_CMD_LENGTH; i++)
{
SpiFlash_WriteOneByte(CMD[i]); //打开SD卡的片选信号并写入命令数据
}
return RET_SUCCESS;
}
/*****************************************************************************
** 文件名称:static uint8_t SpiFlash_ReadSR(void)
** 功 能:
** 修改日志:
******************************************************************************/
static uint8_t SpiFlash_ReadSR(void)
{
uint8_t retValue = 0;
SPIFlash_Enable_CS;
SpiFlash_WriteOneByte(SPIFlash_ReadSR_CMD);
retValue = SpiFlash_ReadOneByte();
SPIFlash_Disable_CS;
return retValue;
}
/*****************************************************************************
** 文件名称:static uint8_t SpiFlash_Wait_Busy(void)
** 功 能:
** 修改日志:
******************************************************************************/
static uin
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3265 2013-12-05 14:15 flash\flash.h
文件 15813 2013-12-05 15:57 flash\flash.c
目录 0 2013-11-28 15:41 flash
----------- --------- ---------- ----- ----
19078 3
相关资源
- 低功耗STM32L476的原理图和电路板图
- stm32F407从flash上播放mp3 flash是W25Q128
- STM32F4xx_W25Q128_20200619_FLM项目.rar
- W25Q128JV 16Mflash芯片数据手册带翻译
- spiflash 1.81并口SPI Flash BIOS编程器,全
- 软件模拟SPI读写W25Q128
- w25q128fv中文手册 w25q256fv中文手册
- W25Q128芯片资料
- spiflash 驱动代码
- FlashTool STM32F103ZET6通过USB串口烧写
- SPIFlash W25Q64 新唐单片机程序
- 电子-使用STM32CUBEMX生成FatFS代码操作
- w25q128 verilog仿真模型
- USB—外部FLASH模拟U盘 W25Q128.zip
- 移植spiffs的stmf103例程
评论
共有 条评论