河北水利局项目

This commit is contained in:
2025-12-15 16:07:49 +08:00
commit f11a7c2b95
1146 changed files with 452892 additions and 0 deletions

61
shuangjia/SPI_Flash.h Normal file
View File

@@ -0,0 +1,61 @@
#ifndef _SPI_FLASH_H_
#define _SPI_FLASH_H_ 1
#include "Flash.h"
//===========ATMEL 081D flash==================
#define FLASH_CHREAD 0x0B
#define FLASH_CLREAD 0x03
#define FLASH_PREAD 0xD2
#define FLASH_BUFWRITE1 0x84
#define FLASH_IDREAD 0x9F
//#define FLASH_STATUS 0xD7
#define PAGE_ERASE 0x81
//#define PAGE_READ 0xD2 //011D 264
#define PAGE_READ 0x52 //161D 528
#define MM_PAGE_TO_B1_XFER 0x53 // 将主存储器的指定页数据加载到第一缓冲区
#define BUFFER_2_WRITE 0x87 // 写入第二缓冲区
#define B2_TO_MM_PAGE_PROG_WITH_ERASE 0x86 // 将第二缓冲区的数据写入主存储器(擦除模式)
#define Dummy_Byte 0xA5
//===========MXIC 8006E flash==================
#define FLASH_STATUS 0x05
//#define PAGE_READ
/* Select SPI FLASH: ChipSelect pin low */
#define Select_Flash() GPIO_ResetBits(GPIOB, GPIO_Pin_12)
/* Deselect SPI FLASH: ChipSelect pin high */
#define NotSelect_Flash() GPIO_SetBits(GPIOB, GPIO_Pin_12)
#define sFLASH_PAGE_MASK 0xFFF00
#define sFLASH_PAGE_SIZE 0x100
#define DOWN_ONE_FRAME_LENGTH 200 //2013-03-19
void Delay_100us_1(void);
void SPI_Flash_Init(void); //SPI初始化
u8 SPI_Flash_ReadByte(void); //flash操作基本函数读一个字节
u8 SPI_Flash_SendByte(u8 byte);
//void SPI_Flash_SendByte(unsigned char Update_Data); // FLASH操作基本函数发送一个字节
//void FlashPageEarse(u16 page); //擦除指定的页,页范围0-4095
void FlashPageRead(unsigned int wPage,unsigned char *Update_Ptr); //读取整页页范围0-4095
void FlashPageWrite(u16 wPage,u8 *Data); //写一整页页范围0-4095
void flash_page_read(unsigned short wPage, unsigned char* pData);
void FlashWaidBusy(void);
void flash_write_enable(void);
void FlashWaitBusy(void); //Flash忙检测
void FlashReadID(u8 *ProdustID); //读取flashID四个字节
void D_spiWriteFlash(unsigned int iadr, unsigned short nbyte, unsigned char* psrc_data);
void D_spiReadFlashPage(unsigned int iadr,unsigned short ilen,unsigned char *pdin_data);
void D_spiFlashRead(u32 iaddr,u16 length, u8 *pdin_data);
void D_spiFlashWrite(u32 iadr, u16 length, u8 *psrc_data);
void UClearWatchdog(void);//@ "FLASHCODE"
void Flash_Page_Read(unsigned int wPage,unsigned char *Update_Ptr);
void flash_sector_erase(unsigned int uiAddr);
void flash_sector_write(unsigned int uiAddr, unsigned short wLen);
void flash_fast_read( unsigned int iAddr, unsigned short wLen );
#endif