资源简介
MX25l1606 SPI Flash驱动代码

代码片段和文件信息
/* ---------------------------------- File Description --------------------------------------------
【文件功能】:本文件为 MAX25L1606E SpiFLASH芯片驱动文件
MAX25L1606E 存储量为16M bit 分为512个扇区,每个扇区有4K byte 16个扇区为一个block 总共有32个block
每page 为256个字节
最快访问速度高达86MHz
【创建时间】:2012年10月22日星期一13:20:40
【文件版本】:V1.0
【作者声明】:本文件作者为温业中可通过email与作者联系: eric540@163.com
------------------------------------------------------------------------------------------ */
#include “stm32f10x.h“
#include “mx25L1606E.h“
#include “serial_debug.h“
void SpiFlash_Init(void)
{
flashInfoTypedef flashInfo;
//WP
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_Init(GPIOC &GPIO_InitStructure);
FLASH_WP_High();
SPI1_Configuration();
FlashGet_ElectronicInfo(&flashInfo);
// printf(“ManufacturerID=%02X\r\n“flashInfo.ManufacturerID);
// printf(“DeviceID=%02X\r\n“flashInfo.DeviceID[0]);
if((flashInfo.ManufacturerID==0xc2)&&(flashInfo.DeviceID[0]==0x14))
{
printf(“\tFlash Info: MXIC(Macronix International Co.Ltd\r\n“);
}
FlashGet_Info(&flashInfo);
// printf(“ManufacturerID=%02X\r\n“flashInfo.ManufacturerID);
// printf(“DeviceID=%02X%02X\r\n“flashInfo.DeviceID[0]flashInfo.DeviceID[1]);
if((flashInfo.DeviceID[0]==0x20)&&(flashInfo.DeviceID[1]==0x15))
{
printf(“\tFlashType:MX25L1606E FlashSize:16Mbit\r\n\tTotal 32 Blocks 16 Sectors/Block 4KB/Sector\r\n“);
}
#if 0
FlashEnter_DeepPowerDown();
tmp=FlashReleaseFrom_DeepPowerDownE();
printf(“ElectronicSignature=%02x\r\n“tmp); //打印结果为: 0x14
#endif
}
void FlashWait_Busy(void)
{
u8 flashSta;
u32 retry=0;
FLASH_CS_Low();
SPI_Write(RDSD_CMD);
do{
flashSta=SPI_Read();
if(retry++>FLASH_BUSY_TIMEOUT)
break;
}while(flashSta&0x80);
//printf(“%d\r\n“retry);
SPI_CS_High();
}
void FlashGet_Info(flashInfoTypedef * pFlashInfo)
{
// FlashWait_Busy();
FLASH_CS_Low();
SPI_Write(RDID_CMD);
pFlashInfo->ManufacturerID=SPI_Read();
pFlashInfo->DeviceID[0]=SPI_Read();
pFlashInfo->DeviceID[1]=SPI_Read();
SPI_CS_High();
}
void FlashGet_ElectronicInfo(flashInfoTypedef * pFlashInfo)
{
// FlashWait_Busy();
FLASH_CS_Low();
SPI_Write(REMS_CMD);
SPI_Write(DUMMY_BYTE);
SPI_Write(DUMMY_BYTE);
SPI_Write(0x00); //manufacturer‘s ID first
pFlashInfo->ManufacturerID=SPI_Read();
pFlashInfo->DeviceID[0]=SPI_Read();
SPI_CS_High();
}
void FlashEnter_DeepPowerDown(void)
{
FLASH_CS_Low();
SPI_Write(DP_CMD);
SPI_CS_High();
}
void FlashReleaseFrom_DeepPowerDown(void)
{
FLASH_CS_Low();
SPI_Write(RDP_CMD);
SPI_CS_High();
}
u8
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2969 2012-10-23 13:44 spi.c
文件 672 2012-10-22 13:36 spi.h
文件 7762 2012-10-23 15:13 mx25L1606E.c
文件 1101 2012-10-23 14:32 mx25L1606E.h
----------- --------- ---------- ----- ----
12504 4
相关资源
- 基于STM32RCT6的步进电机驱动程序
- 直流无刷电机方波驱动 stm32 例程代码
- elantech触控板驱动程序 v13.6.11 官方最
- 联想y470无线网卡驱动 for 32位64位
- 松下plc FP-XH的驱动
- IMX385驱动代码.zip
- 组态王驱动开发包3.0.0.7(中文)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- CASS9.1最新S4数据及驱动+ET199数据及驱
- 带有死区延时的H桥直流电机驱动电路
- USB转串口驱动,FT232R驱动程序,最新
- 德卡D3读卡器测试程序驱动文件
- WinCE下CP210x的驱动程序
- ubuntu9.10 可加载内核模块和字符设备驱
- MCGS触摸屏西门子s7_1200驱动
- FPGA在步进电机驱动上的应用实例及代
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- RA8806液晶驱动程序
- 内核驱动进程保护演示程序
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- 组态王中S7-300TCP驱动
- STC12C5A60S2 CH4521 驱动数码管 显示
- STM32F103 CC2500完整驱动(模拟SPI)
- 430系列单片机USBFET下载驱动
- dell阵列卡驱动s100 s300 2008 R2.rar
- keil vcom windows 7 64bit 驱动
- windows ce 系统的GPIO驱动程序
- 2440 cs8900a 网卡驱动程序
- USB 驱动 让电脑与arm进行通信
评论
共有 条评论