⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory.h

📁 AT45DB161D芯片的读写驱动程序,有多款程序,包括有51,AVR,MSP430等,需要的朋友可以拿去看看,很有帮助.
💻 H
字号:
/****************************************************************
*          ATMEL的DATAFLASH操作函数库(FOR AT45DB161D)         *
*                                                               *
*                     作者:gxlujd(彩虹)                      *
*             最后修改时间:2007年2月18日(大年初一)           *
*                                                               *
*    感谢www.ouravr.com、阿莫和坛子里的哥们一直以来的热心帮助   *
*                                                               *
*    如果这些资源能帮到你,请保留以上这些信息,同时也请你把自   *
*    己的一些日常积累拿出来分享,这个世界需要更多的无私开源,   *
*    别让金钱和利益蒙住了内心的真诚,谢谢!                     *
*****************************************************************/

#ifndef 	_MEMORY_H
#define 	_MEMORY_H

/*DATA_FLASH端口及指令定义*/
#define 	DF_SPI_ON			U0CTL &= ~SWRST				//SPI中断开启
#define 	DF_SPI_OFF			U0CTL |= SWRST			        //SPI中断关闭
#define 	DF_CON_PORT			P3OUT
//#define 	DF_STA_PORT			PINC
//#define 	DF_STATE			PC2
//#define 	DF_CS_1				PC1
#define 	DF_SELECT_1			DF_CON_PORT &= 0xFE			//P3.0 send 0
#define 	DF_DESELECT_1			DF_CON_PORT |= 0x01			//P3.0 send 1

#define 	BUFFER_1_WRITE 			0x84					// 写入第一缓冲区
#define 	BUFFER_2_WRITE 			0x87					// 写入第二缓冲区
#define 	BUFFER_1_READ 			0xD4					// 读取第一缓冲区
#define 	BUFFER_2_READ 			0xD6					// 读取第二缓冲区
#define 	B1_TO_MM_PAGE_PROG_WITH_ERASE 	0x83					// 将第一缓冲区的数据写入主存储器(擦除模式)
#define 	B2_TO_MM_PAGE_PROG_WITH_ERASE 	0x86					// 将第二缓冲区的数据写入主存储器(擦除模式)
#define 	MM_PAGE_TO_B1_XFER 		0x53					// 将主存储器的指定页数据加载到第一缓冲区
#define 	MM_PAGE_TO_B2_XFER 		0x55					// 将主存储器的指定页数据加载到第二缓冲区
#define 	PAGE_ERASE 			0x81					// 页删除(每页512/528字节)
#define 	SECTOR_ERASE 			0x7C					// 扇区擦除(每扇区128K字节)
#define 	READ_STATE_REGISTER 		0xD7					// 读取状态寄存器

extern unsigned char DF_buffer[528];

extern void write_SPI					(unsigned char data);
extern void DF_format					(void);
extern void DF_page_earse				(unsigned int page);
extern void DF_write_page				(unsigned int page);
extern void DF_read_page				(unsigned int page);
extern void DF_mm_read_page				(unsigned int page);
extern unsigned char DF_read_reg			(void);
extern void DF_wait_busy				(void);
extern void DF_mm_to_buf				(unsigned char buffer,unsigned int page);
extern unsigned char DF_read_buf			(unsigned char buffer,unsigned int start_address,unsigned int length);
extern unsigned char DF_write_buf			(unsigned char buffer,unsigned int start_address,unsigned int length);
extern void DF_buf_to_mm				(unsigned char buffer,unsigned int page);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -