HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data);//FLASH 写操作函数 该函数有三个入口参数。入口参数 TypeProgram 用来区分要写入的数据类型,取值为: FLASH_TYPEPROGRAM_BYTE(字节:8 位),FLASH_TYPEPROGRAM_HALFWORD(半 字: 16 位) , FLASH_TYPEPROGRAM_WORD ...
stat =FLASH_ProgramHalfWord(PAGE0_BASE_ADDRESS, VALID_PAGE);// write VALID_PAGE markerif(stat != FLASH_COMPLETE) {returnstat; } stat =FLASH_ProgramHalfWord((uint32_t) pCurrentValue, newValue);// wite new valeif(stat != FLASH_COMPLETE) {returnstat; } FLASH_Lock();returnstat; } 开...
具体现象为 兼容模式 1k擦除后,使用FLASH_ProgramHalfWord函数写0x0800ff00地址及以后地址进入硬件错误中断,使用快写正常,原因不明。即 void Flash_Test(void) 函数异 ...
HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, Flash_Add, Write_Flash_Data); //对Flash进行烧写,FLASH_TYPEPROGRAM_HALFWORD 声明操作的Flash地址的16位的,此外还有32位跟64位的操作,自行翻查HAL库的定义即可 HAL_FLASH_Lock(); //锁住Flash 1. 2. 3. 4....
*/HAL_StatusTypeDefHAL_FLASH_Program(uint32_tTypeProgram,uint32_tAddress,uint64_tData);/** * @brief Program halfword, word or double word at a specified address with interrupt enabled. * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface ...
HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, FLASH_FANSPEED_ADDR, Data); HAL_FLASH_Lock(); } F4的写入字符串: voidsaveBLEName(uint8_t*blename,uint8_tlen,uint8_tflag){HAL_FLASH_Unlock();FLASH_DataCacheCmd(DISABLE);FLASH_EraseInitTypeDeff;f.TypeErase=FLASH_TYPEERASE_SECTORS;//页面擦除f...
if ( HAL_FLASH_Program( FLASH_TYPEPROGRAM_HALFWORD, targetAddress, writeData ) != HAL_OK ) { } targetAddress += 2; } HAL_FLASH_Lock(); return(targetAddress); } 示例: #define USER_DATA_BASE 0x800A000 void setLevelValue( u8 level, u8* u8Arr ) ...
对内部FLASH写入数据不像对SDRAM操作那样直接指针操作就完成了,还要设置一系列的寄存器, 利用FLASH_ProgramWord和FLASH_ProgramHalfWord函数可按字、半字的单位单位写入数据, 见代码清单:FLASH-4。 代码清单:FLASH-4 写入数据¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24...
i++){ HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD,WriteAddr,PDataBuf);WriteAddr+=2;} ...
u32 addr=FLASH_COMMON_ADDR; for(int i=0;i<sizeof(FlashInfo)/2;i++){ //以16位为一个字 HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD,addr,p[i]);//写一个字(32位)数据,若是一个半字则写半字16位 addr+=2; } HAL_FLASH_Lock();//上锁 }...