1、问题点:当RCU网络状态异常的情况下,网络还处于协商状态下,还未进入正常通讯环节时,取电变化不会进行判断。这会导致取电变化上报与实际产生取电状态时间点对不上。 2、将BLV_C1F_Module代码上传至Gitea,之前代码修改记录请查看 .\BasicCode\Readme.txt
72 lines
2.5 KiB
C
72 lines
2.5 KiB
C
#ifndef _FLASH_H_
|
||
#define _FLASH_H_
|
||
|
||
#include "stdint.h"
|
||
|
||
extern uint8_t Temp_Flash_Buff[4200];
|
||
|
||
#if (USE_CORE_TYPE == 1) //使用C1F核心板
|
||
|
||
#define Flash_WP_H GPIOA_SetBits(GPIO_Pin_3)
|
||
#define Flash_WP_L GPIOA_ResetBits(GPIO_Pin_3)
|
||
#define Flash_CS_H GPIOA_SetBits(GPIO_Pin_12)
|
||
#define Flash_CS_L GPIOA_ResetBits(GPIO_Pin_12)
|
||
#elif (USE_CORE_TYPE == 2) //使用C1核心板
|
||
|
||
#define Flash_WP_H GPIOA_SetBits(GPIO_Pin_3)
|
||
#define Flash_WP_L GPIOA_ResetBits(GPIO_Pin_3)
|
||
#define Flash_CS_H GPIOB_SetBits(GPIO_Pin_22)
|
||
#define Flash_CS_L GPIOB_ResetBits(GPIO_Pin_22)
|
||
|
||
#endif //USE_CORE_TYPE == CORE_TYPE_C1F
|
||
|
||
#define Flash_ADDRESS_MAX 0x00200000
|
||
|
||
/***********指令表**********/
|
||
//Read
|
||
#define P24Q40H_ReadData 0x03
|
||
#define P24Q40H_FastReadData 0x0B
|
||
#define P24Q40H_FastReadDual 0x3B
|
||
//Program and Erase
|
||
#define P24Q40H_PageErase 0x81
|
||
#define P24Q40H_SectorErase 0x20
|
||
#define P24Q40H_BlockErase 0xD8
|
||
#define P24Q40H_ChipErase 0xC7
|
||
#define P24Q40H_PageProgram 0x02
|
||
//Protection
|
||
#define P24Q40H_WriteEnable 0x06
|
||
#define P24Q40H_WriteDisable 0x04
|
||
//Status Register
|
||
#define P24Q40H_ReadStatusReg 0x05
|
||
#define P24Q40H_WriteStatusReg 0x01
|
||
//Other Commands
|
||
#define P24Q40H_PowerDown 0xB9
|
||
#define P24Q40H_ReleasePowerDown 0xAB
|
||
#define P24Q40H_ReadManufactureID 0x90
|
||
#define P24Q40H_ReadDeviceID 0x9F
|
||
#define P24Q40H_ResetEnable 0x66
|
||
#define P24Q40H_Reset 0x99
|
||
|
||
void Flash_Init(void); //Flash初始化
|
||
uint8_t Flash_ReadSR(void); //读取Flash状态寄存器
|
||
void Flash_WriteSR(uint8_t sr_val); //写Flash状态寄存器
|
||
void Flash_Write_Enable(void); //Flash写使能
|
||
void Flash_Write_Disable(void); //Flash写禁用
|
||
uint16_t Flash_ReadID(void); //读取Flash芯片信号
|
||
uint8_t Flash_Wait_Busy(void); //等待Flash空闲
|
||
void Flash_PowerDown(void); //进入掉电模式
|
||
void Flash_Wakeup(void); //唤醒
|
||
void Flash_Erase_Chip(void); //擦除整个芯片
|
||
void Flash_Erase_Block(uint32_t BLK_ID); //块擦除
|
||
void Flash_Erase_Sector(uint32_t DST_ID); //擦除扇区
|
||
void Flash_Erase_Page(uint32_t Page_ID);
|
||
void Flash_Erase_Pageaddr(uint32_t Page_addr);
|
||
void Flash_Read(uint8_t* pBuffer,uint16_t NumByteToRead,uint32_t ReadAddr); //Flash读取数据
|
||
void Flash_Write_Page(uint8_t* pBuffer,uint16_t NumByteToWrite,uint32_t writeAddr); //Flash写数据
|
||
void Flash_Write_NoCheck(uint8_t* pBuffer,uint16_t NumByteToWrite,uint32_t writeAddr); //Flash写数据,自动换页
|
||
void Flash_Write(uint8_t* pBuffer,uint16_t NumByteToWrite,uint32_t WriteAddr); //Flash写数据,自动擦除,自动换页
|
||
void Flash_APPDATA_Erase(void);
|
||
void Flash_LOGICDATA_Erase(void);
|
||
|
||
#endif
|