SST25Vf010读写问题_第1页
SST25Vf010读写问题_第2页
SST25Vf010读写问题_第3页
SST25Vf010读写问题_第4页
SST25Vf010读写问题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、经过大约3周的时间终于搞定闪光芯片SST25Vf010读写问题,为了便于使用,进行了大修改,分享如下,主要函数,可以定义为SPI _初始化. c内容:#包含/瑞士法郎声明#包括#包括#include model_spi.h /自定义的头文件,包含了下列函数声明,在下面有定义无效发送字节(无符号字符SPI _字节)uchar SPI _ count对于(SPI _ count=8;SPI _计数0;SPI _计数-)SPICLK=0 .if(SPI_byte0x80)SPI MoSi=1;其他SPI MoSi=0;SPICLK=1 .SPI _ byte=1;无符号字符GetSPIByte(空)uchar SPI _ count无符号字符SPI _字节对于(SPI _ count=8;SPI _计数0;SPI _计数-)SPICLK=0 ._ nop _();_ nop _();_ nop _();_ nop _();SPICLK=1 ._ nop _();_ nop _();_ nop _();_ nop _();SPI _ byte=1;SPI _字节|=SPIMISO_ nop _();_ nop _();返回SPI _字节;无符号字符GetSPIByte2(空)uchar SPI _ count无符号字符SPI _字节对于(SPI _ count=8;SPI _计数0;SPI _计数-)SPICLK=0 ._ nop _();_ nop _();_ nop _();_ nop _();SPI _ byte=1;SPI _字节|=SPIMISOSPICLK=1 ._ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();返回SPI _字节;void Wait_Busy()而(读取_状态_寄存器()0x 01=0x 01);/读取状态寄存器();/读闪光void FlashRead(无符号长星号_addr,无符号整数透镜,无符号字符*缓冲区)/从缓冲区1的指定位置(0-263)中读入指定字节无符号国际;芯片选择;发送字节(闪存_读取);/闪存读命令0x03发送字节(无符号字符)(star _ addr 16);发送字节(无符号字符)(star _ addr 8);发送字节(无符号字符)star _ addr);对于(1=0;i16);发送字节(无符号字符)(star _ addr 8);发送字节(无符号字符)star _ addr);字节=GetSpibyte();/从SPI读取数据_ nop _();芯片微控制器;返回(字节);/读状态寄存器无符号字符读取状态寄存器(无效)无符号字符读取日期;芯片选择;_ nop _();_ nop _();发送字节(0x 05);/写使能命令read _ date=GetSpibyte();_ nop _();芯片微控制器;_ nop _();_ nop _();_ nop _();_ nop _();返回(读取日期);void WREN_Check()uchar字节;字节=读取状态寄存器();if (byte0x02)!=0x02)写_ EN();/如果未置1进行相应处理,如对其进行写使得操作/写使能信号无效写入(无效)/芯片选择;_ nop _();_ nop _();/80ns发送字节(0x 06);/写使能命令_ nop _();_ nop _();芯片微控制器;/写使能禁止void Write_DISABLE(void) /东风_芯片_选择;_ nop _();_ nop _();发送字节(0x 04);/写使能禁止_ nop _();芯片微控制器;/使能状态寄存器写无效状态_寄存器_ WR _恩(无效)芯片选择;_ nop _();_ nop _();发送字节(0x 50);/写使能命令芯片微控制器;/写状态寄存器无效状态_寄存器_WR(无效)芯片选择;发送字节(0x 01);/写使能命令发送字节(0x 00);/状态_寄存器的内容_ nop _();芯片微控制器;_ nop _();_ nop _();_ nop _();_ nop _();/写字节到闪光void FlashWrite_BYTE(无符号长起始地址,无符号字符日期)/向缓冲区1的指定位置(0-263)写入指定字节写_ EN();芯片选择;/CE发送字节(闪存_写入字节);发送字节(无符号字符)(start _ addr 16);发送字节(无符号字符)(start _ addr 8);发送字节(无符号字符)start _ addr);发送字节(日期);芯片微控制器;/写连续字节void FlashWrite_Auto_BYTE(无符号长起始地址、无符号整数透镜、无符号字符*缓冲区)无符号长温度2=0;xdata无符号整数1=0;temp2=start _ addr len用于(;start _ addr temp2start_addr)闪存写入字节(起始地址,缓冲区1);我;延迟(5000);/写连续字节到闪光void FlashWrite _ AutoIncrement _ BYTE(无符号长start_addr,无符号内部透镜,无符号char *缓冲区)/向缓冲区1的指定位置(0-263)写入指定字节茶状态_寄存器;无符号字符我;写_ EN();芯片选择;_ nop _();_ nop _();发送字节(自动增量_字节);发送字节(无符号字符)(start _ addr 16);发送字节(无符号字符)(start _ addr 8);发送字节(无符号字符)start _ addr);发送字节(缓冲区0);芯片微控制器;延迟(5000);对于(I=1;i16);发送字节(无符号字符)(start _ addr 8);发送字节(无符号字符)start _ addr);_ nop _();芯片微控制器;_ nop _();/块擦除32K字节擦除无效块_地址(无符号长起始地址)/东风_ RDY忙碌;/检查闪存是否繁忙写_ EN();芯片选择;_ nop _();_ nop _();发送字节(BLOCK _ EREASE);/写使能命令发送字节(无符号字符)(start _ addr 16);发送字节(无符号字符)(start _ addr 8);发送字节(无符号字符)start _ addr);_ nop _();芯片微控制器;_ nop _();_ nop _();_ nop _();_ nop _();/芯片擦除空切屑_碱(空)芯片选择;写_ EN();芯片选择;_ nop _();_ nop _();发送字节(CHIP _ EREASE);/写使能命令_ nop _();_ nop _();芯片微控制器;/芯片编号读取无符号长闪存读取标识(无效)无符号长制造商_ID1=0,产品_ID1=0,制造商_ID2=0,产品_ ID2=0;无符号长芯片标识;芯片选择;_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();发送字节(READ _ ID);/写使能命令发送字节(0x 00);发送字节(0x 00);发送字节(0x 01);/0x00则先得到生厂商ID,0x01则先得到产品编号制造商_ ID1=GetSpiByte();product _ ID1=GetSpiByte();制造商_ ID2=GetSpiByte();product _ ID2=GetSpiByte();芯片微控制器;芯片标识=制造商标识1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论