SPI_FLASH_Write_SR(0x02);//使能狀態(tài)寄存器中的寫存儲器
SPI_FLASH_Write_SR(0x02);//使能狀態(tài)寄存器中的寫存儲器
實(shí)驗(yàn)?zāi)康模簩?shù)據(jù)寫入外部FLASH中,然后再讀出來顯示在LCD上
實(shí)驗(yàn)平臺:基于STM32F103C8T6的彩屏開發(fā)板
FLASH:SST25VF016B
圖1:FLASH硬件接口
圖2:SST25VF016地址自增寫數(shù)據(jù)
主要的實(shí)驗(yàn)代碼:
Flash.h
#ifndef __FLASH_H
#define __FLASH_H
#include "sys.h"
#define
////////////////////////////////////////////////////////////////////////////
//SST25VF016讀寫
#define FLASH_ID 0XBF41
//指令表
#define SST25_ReadData
#define SST25_FastReadData
#define SST25_4KByte_BlockERASE
#define SST25_32KByte_BlockErase
#define SST25_64KByte_BlockErase
#define SST25_ChipErase
#define SST25_ByteProgram
#define SST25_AAI_WordProgram
#define SST25_ReadStatusReg
#define SST25_EnableWriteStatusReg
#define SST25_WriteStatusReg
#define SST25_WriteEnable
#define SST25_WriteDisable
#define SST25_ManufactDeviceID
#define SST25_JedecDeviceID
#define SST25_EBSY
#define SST25_DBSY
void SPI_Flash_Init(void);
u16
u8
void SPI_FLASH_Write_SR(u8 sr);
void SPI_FLASH_Write_Enable(void);
void SPI_FLASH_Write_Disable(void); //寫保護(hù)
void SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead);
void SPI_Flash_Erase_Chip(void);
void SPI_Flash_Erase_Sector(u32 Dst_Addr);//扇區(qū)擦除
void SPI_Flash_Wait_Busy(void);
void SST25V_EBSY(void);
void SST25V_DBSY(void);
void Flash_WriteByte(u8* pBuffer,u32 WriteAddr);//寫入1Byte數(shù)據(jù)
void AutoAddressIncrement_WordProgramA(u8 Byte1, u8 Byte2, u32 Addr);//地址自動增加的寫數(shù)據(jù)A
void AutoAddressIncrement_WordProgramB(u8 state,u8 Byte1, u8 Byte2);//地址自動增加的寫數(shù)據(jù)B
void SPI_Flash_Write(u8 pBuffer[],u32 WriteAddr,u16 NumByteToWrite);//結(jié)合AB構(gòu)成的地址自動增加的連續(xù)數(shù)據(jù)的寫入
#endif
flash.c
#include "flash.h"
#include "spi.h"
#include "delay.h"
//4Kbytes為一個Sector
//16個扇區(qū)為1個Block
//SST25VF016B
//容量為2M字節(jié),共有32個Block(塊),512個Sector(扇區(qū))
//初始化SPI FLASH的IO口
//修改狀態(tài)寄存器,允許芯片存儲器被寫
void SPI_Flash_Init(void)
{
}
//讀取SPI_FLASH的狀態(tài)寄存器
//BIT7
//SPR
//SPR:默認(rèn)0,狀態(tài)寄存器保護(hù)位,配合WP使用
//TB,BP2,BP1,BP0:FLASH區(qū)域?qū)懕Wo(hù)設(shè)置
//WEL:寫使能鎖定
//BUSY:忙標(biāo)記位(1,忙;0,空閑)
//默認(rèn):0x00
u8 SPI_Flash_ReadSR(void)
{
}
//寫SPI_FLASH狀態(tài)寄存器
//只有SPR,TB,BP2,BP1,BP0(bit 7,5,4,3,2)可以寫!!!
void SPI_FLASH_Write_SR(u8 sr)
{
}
//SPI_FLASH寫使能
//將WEL置位
void SPI_FLASH_Write_Enable(void)
{
}
//SPI_FLASH寫禁止
//將WEL清零
void SPI_FLASH_Write_Disable(void)
{
}
//讀取芯片ID SST25VF016的是 0XBF41
u16 SPI_Flash_ReadID(void)
{
}
//讀取SPI FLASH
//在指定地址開始讀取指定長度的數(shù)據(jù)
//pBuffer:數(shù)據(jù)存儲區(qū)
//ReadAddr:開始讀取的地址(24bit)
//NumByteToRead:要讀取的字節(jié)數(shù)(最大65535即64k)
void SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead)
{
}
//地址自動增加的寫數(shù)據(jù)A
void AutoAddressIncrement_WordProgramA(u8 Byte1, u8 Byte2, u32 Addr)
{
}
//地址自動增加的寫數(shù)據(jù)B
void AutoAddressIncrement_WordProgramB(u8 state,u8 Byte1, u8 Byte2)
{
}
//結(jié)合AB構(gòu)成的地址自動增加的連續(xù)數(shù)據(jù)的寫入
//具有先擦除待寫區(qū)域的功能
//pBuffer:為待寫數(shù)據(jù)組
//WriteAddr:所寫數(shù)據(jù)的起始地址
//NumByteToWrite:所要寫的數(shù)據(jù)的長度
void SPI_Flash_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)
{
}
//寫入1Byte數(shù)據(jù)
//pBuffer:待寫的數(shù)據(jù)
//WriteAddr:待寫數(shù)據(jù)的地址
void Flash_WriteByte(u8* pBuffer,u32 WriteAddr)
{
}
//擦除整個芯片
//整片擦除時間:
//W25X16:25s
//W25X32:40s
//W25X64:40s
//等待時間超長...
void SPI_Flash_Erase_Chip(void)
{
}
//擦除一個扇區(qū)
//Dst_Addr:扇區(qū)地址 0~511 for w25x16
//擦除一個山區(qū)的最少時間:150ms
void SPI_Flash_Erase_Sector(u32 Dst_Addr)
{
}
//等待空閑
void SPI_Flash_Wait_Busy(void)
{
}
void SST25V_EBSY(void)
{
}
void SST25V_DBSY(void)
{
}
主函數(shù):
#include<stm32f10x_lib.h>
#include"common.h"
#include"TFTLCD.h"
#include"spi.h"
#include"key.h"
#include"flash.h"
const u8 TEXT_Buffer[]={"Chen An SST25VF"};//待寫入flash的數(shù)據(jù)
#define SIZE sizeof(TEXT_Buffer) //計算待寫入數(shù)據(jù)的長度
int main(void)
{
}
總結(jié):1.開始的時候,讀取FLASH的ID成功,我覺得芯片一切正常,但是寫入數(shù)據(jù)后讀回來的全是“滿屏”,糾結(jié)了一天才發(fā)現(xiàn)原
主站蜘蛛池模板:
午夜影院黄
|
精品小视频
|
欧美成人一区二区
|
日韩一区二区视频在线观看
|
日本国产在线观看
|
欧美日韩小视频
|
五月婷婷丁香
|
在线观看一区
|
久久99精品久久久久久琪琪
|
精品欧美日韩
|
亚洲资源网
|
解开岳的丰满奶罩bd
|
一区二区三区四区在线播放
|
国产丝袜av
|
精品久久免费视频
|
av在线免费播放
|
欧美一级淫片免费视频黄
|
三年中文在线观看免费大全中国
|
亚洲精品自拍视频
|
蜜桃成人av
|
日韩美女一区
|
长河落日电视连续剧免费观看
|
久草综合在线
|
国产精品毛片一区视频播
|
91精品国自产在线观看
|
久久99精品久久久久久国产越南
|
国产欧美一区二区精品忘忧草
|
毛片www|
亚洲一区在线看
|
又色又爽又黄18网站
|
中文字幕有码在线
|
一区二区三区国产视频
|
五月天婷婷视频
|
9l视频自拍九色9l视频成人
|
九九色
|
97视频网站|
精品综合网
|
国产精品视频免费看
|
久久久久久综合
|
欧美一区免费
|
亚洲综合日韩
|
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1