資源簡介
stm32f405驅動W25N01G進行讀寫的demo,里面包含spi的配置和flash讀寫驅動以及w25n01g的原版芯片手冊。
代碼片段和文件信息
/*********************************?(C)?COPYRIGHT?2019?曼珠沙華?****************************************************
*?File?Name??????????:?spi.c
*?Author?????????????:?@曼珠沙華
*?Date???????????????:?2019/8/27
*?Description????????:?spi?file?spi函數文件編寫
*?????????????????????
*?Includes?------------------------------------------------------------------*/
#include?“flash.h“
u8?W25_BUFFER[4096]; ???//flash緩沖區大小定義
/***********************************************************************************************
**?????name:?flash_init
**?function:?初始化flash?W25N01GV模塊
**parameter:?void
**???return:?void
**?????date:?2019/8/27
**???create:?@曼珠沙華
************************************************************************************************/
void?flash_init(void){
SPI1_Init();??????????????????????????????//初始化spi1
SPI1_SetSpeed(SPI_BaudRatePrescaler_4); //設置為21M時鐘高速模式?
FLASH_CS?=?1;?????????????????????????????//拉高cs片選
W25_Reset();
delay_xms(20);
W25_WriteSR(Protection_Register0);???????//SR1取消保護
delay_xms(20);
}
/***********************************************************************************************
**?????name:?W25_ReadSR
**?function:?讀取W25的狀態寄存器
?BIT7???6??????5?????4?????3???????2???????1????0
?????????????NULL???LUT_F??ECC1??ECC0??P_FAIL??E_FAIL??WEL??BUSY
?????????????WEL:寫使能鎖定
?????????????BUSY:忙標記位(1忙;0空閑)
?????????????默認:0x00
**parameter:?sr?寄存器地址
**???return:?寄存器的值
**?????date:?2019/8/27
**???create:?@曼珠沙華
************************************************************************************************/
u8?W25_ReadSR(u8?sr){??
u8?byte?=?0;??
FLASH_CS?=?0;????????????????????????????//使能器件?
??
SPI1_ReadWriteByte(W25X_ReadStatusReg);??//發送讀取狀態寄存器命令????
SPI1_ReadWriteByte(sr);??????????????????//發送地址
byte?=?SPI1_ReadWriteByte(0Xff);?????????//讀取一個字節??
FLASH_CS?=?1;????????????????????????????//取消片選?
return?byte;???
}?
/***********************************************************************************************
**?????name:?W25_WriteSR
**?function:?寫W25狀態寄存器只有部分位可以寫!!!
**parameter:?sr?寄存器地址
?data?欲寫入的值
**???return:?void
**?????date:?2019/8/27
**???create:?@曼珠沙華
************************************************************************************************/
void?W25_WriteSR(u8?sru8?data){???
FLASH_CS?=?0;??????????????????????????????//使能器件?
??
SPI1_ReadWriteByte(W25X_WriteStatusReg);???//發送寫狀態寄存器命令????
SPI1_ReadWriteByte(sr);????????????????????//發送地址??
SPI1_ReadWriteByte(data);??????????????????//發送欲寫入的值
FLASH_CS?=?1;??????????????????????????????//取消片選????? ??????
}???
??
/***********************************************************************************************
**?????name:?W25_Reset
**?function:?重啟flash
**parameter:?void
**???return:?void
**?????date:?2019/8/30
**???create:?@曼珠沙華
************************************************************************************************/
void?W25_Reset(v
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????13027??2019-09-19?14:11??W25N01G\flash.c
?????文件???????2562??2019-09-03?16:31??W25N01G\flash.h
?????文件???????5507??2019-09-03?16:00??W25N01G\spi.c
?????文件????????812??2019-08-27?16:00??W25N01G\spi.h
?????文件????1186750??2019-04-08?21:54??W25N01G\W25N01GVZEIG.PDF
?????目錄??????????0??2020-03-20?17:59??W25N01G
-----------?---------??----------?-----??----
??????????????1208658????????????????????6
評論
共有 條評論