写入FLASH */ Address = WRITE_START_ADDR; while((Address < WRITE_END_ADDR) && (FLASHStatus == FLASH_COMPLETE)) { FLASHStatus = FLASH_ProgramWord(Address, Data); Address = Address + 4; } /* 锁定FLASH */ FLASH_Lock(); } 二、FLASH 擦除(以及防止误擦除程序代码) 1、擦除函数 FLASH_S...
| FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);FLASH_ProgramWord(addr, data);FLASH_LockBank1();
锁定函数:void FLASH_Lock(void);有解锁当然就有上锁,为了保护Flash,读写和擦除全部需要的Flash后需要上锁,只需要调用: FLASH_Lock(); 写操作函数:固件库提供了三个 FLASH 写函数: FLASH_StatusFLASH_ProgramWord(uint32_t Address,uint32_t Data);FLASH_StatusFLASH_ProgramHalfWord(uint32_t Address,uint16_...
FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data);//一次写一个字,对于32系统,一次写的是4个字节,uint32_t 变量大小,32bit FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data);//一次写一个半字,对于32系统,一次写的是2个字节,uint16_t 变量大小,16bit FLASH_Sta...
FLASH_StatusFLASH_ProgramWord(uint32_t Address,uint32_t Data);FLASH_StatusFLASH_ProgramHalfWord(uint32_t Address,uint16_t Data);FLASH_StatusFLASH_ProgramOptionByteData(uint32_t Address,uint8_t Data); 分别为按字(32bit)写入、按半字(16bit)写入、按字节(8bit)写入函数。32 位字节写入实际上是...
/* 向内部FLASH写入数据 */ Address = WRITE_START_ADDR; while((Address < WRITE_END_ADDR) && (FLASHStatus == FLASH_COMPLETE)) { FLASHStatus = FLASH_ProgramWord(Address, Data); Address = Address + 4; } FLASH_Lock(); /* 检查写入的数据是否正确 */ ...
FLASH_StatusFLASH_ProgramWord(uint32_tAddress,uint32_tData);FLASH_StatusFLASH_ProgramHalfWord(uint32_tAddress,uint16_tData);FLASH_StatusFLASH_ProgramOptionByteData(uint32_tAddress,uint8_tData); 分别为按字(32bit)写入、按半字(16bit)写入、按字节(8bit)写入函数。32 位字节写入实际上是写入的两次...
ProgramWord函数),要写入的数据应为32位的无符号整数。对于双字大小的写入(FLASH_ProgramDoubleWord函数...
FLASHStatus = FLASH_ProgramWord( Addr_Reserved , 0x12345678);FLASH_Lock();//上锁写保护 __enable...