#include "w25qxx.h"
#include "spi.h"
#include "delay.h"
#include "usart.h"
u16 w25qxx_type=w25q128; //預設是w25q128
//4kbytes為乙個sector
//16個扇區為1個block
//w25q128
//容量為16m位元組,共有256個block,4096個sector
//初始化spi flash的io口
void w25qxx_init(void)
//讀取w25qxx的狀態暫存器
//bit7 6 5 4 3 2 1 0
//spr rv tb bp2 bp1 bp0 wel busy
//spr:預設0,狀態暫存器保護位,配合wp使用
//tb,bp2,bp1,bp0:flash區域寫保護設定
//wel:寫使能鎖定
//busy:忙標記位(1,忙;0,空閒)
//預設:0x00
u8 w25qxx_readsr(void)
//寫w25qxx狀態暫存器
//只有spr,tb,bp2,bp1,bp0(bit 7,5,4,3,2)可以寫!!!
void w25qxx_write_sr(u8 sr)
//w25qxx寫使能
//將wel置位
void w25qxx_write_enable(void)
//w25qxx寫禁止
//將wel清零
void w25qxx_write_disable(void)
//讀取晶元id
//返回值如下:
//0xef13,表示晶元型號為w25q80
//0xef14,表示晶元型號為w25q16
//0xef15,表示晶元型號為w25q32
//0xef16,表示晶元型號為w25q64
//0xef17,表示晶元型號為w25q128
u16 w25qxx_readid(void)
//讀取spi flash
//在指定位址開始讀取指定長度的資料
//pbuffer:資料儲存區
//readaddr:開始讀取的位址(24bit)
//numbytetoread:要讀取的位元組數(最大65535)
void w25qxx_read(u8* pbuffer,u32 readaddr,u16 numbytetoread)
};
}
//寫spi flash
//在指定位址開始寫入指定長度的資料
//該函式帶擦除操作!
//pbuffer:資料儲存區
//writeaddr:開始寫入的位址(24bit)
//numbytetowrite:要寫入的位元組數(最大65535)
u8 w25qxx_buffer[4096];
void w25qxx_write(u8* pbuffer,u32 writeaddr,u16 numbytetowrite)
};
}
W25Q128資料手冊翻譯(1)
5 方框圖 w25q128fv 128mbit 型序列flash儲存器面向受限於空間 引腳和功耗的系統,提供了一種儲存解決方案。25q系列儲存器相比於普通的序列flash器件提供更好的靈活性和效能表現。它們是 儲存 直接通過雙線 四線spi執行 儲存音訊 文字和資料的理想選擇。該器件可在2.7v到3...
華邦記憶體編碼含義w25q64d
winbond 華邦 含義說明 a欄位由w組成,代表華邦 winbond 記憶體晶元的字首。b欄位表示產品型別。98代表sdram記憶體94代表ddr sdram記憶體。c欄位表示記憶體晶元的容量。16代表16mbit 2mb 32代表32mbit 4mb 64代表64mbit 8mb 12代表12...
STM32開發之SPI 與W25Q128通訊
除錯stm32l051的spi2 和 w25q128 通訊問題。問題是spi的sck一直高電平,沒有訊號輸出,一直高 mosi有訊號輸出,miso一直是高電平,沒有訊號輸出。gpio的初始化和spi的初始化,基本沒有什麼異常。stm32和ad7606的spi除錯心得 原子哥 暫存器版 方法 gpio...