示例#1
0
void Flash_Write(uint32 addr, uint8 *buf, uint16 cnt)
{
	FLASH_Unlock(); 
	FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR );
	
	Flash_WriteData(addr, (uint16_t*)buf, (cnt+1)/2);
	
	FLASH_Lock();
	
}
示例#2
0
void Flash_SaveTagState(void)
{
	uint8 buff[64] = {0};

  FLASH_Unlock(); 
	FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR );
	if(FLASH_COMPLETE != FLASH_ErasePage(STORE_SYS_STATE_PAGE_ADDR))
	{
    return;
  }
	memcpy(buff, (uint8*)&state_para.ackflag_set, sizeof(state_para));
	
  Flash_WriteData(STORE_SYS_STATE_PAGE_ADDR, (uint16*)buff, (sizeof(state_para)+1)/2);

	FLASH_Lock();
}
示例#3
0
void Flash_SaveTagInfo(void)
{
	uint8 buff[1024] = {0};

  FLASH_Unlock(); 
	FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR );
	if(FLASH_COMPLETE != FLASH_ErasePage(STORE_SYS_INFO_PAGE_ADDR))
	{
    return;
  }
	memcpy(buff, (uint8*)&tag_flash_info.net_flag_set, sizeof(tag_flash_info));
	
  Flash_WriteData(STORE_SYS_INFO_PAGE_ADDR, (uint16*)buff, (sizeof(tag_flash_info)+1)/2);

	FLASH_Lock();
}
示例#4
0
void Flash_SaveLastGUI(void)
{
	uint8 buff[1024] = {0};

  FLASH_Unlock(); 
	FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR );
	if(FLASH_COMPLETE != FLASH_ErasePage(STORE_LAST_GUI_PAGE_ADDR))
	{
    return;
  }
	memcpy(buff, (uint8*)&backgroud, 1024);
	
  Flash_WriteData(STORE_LAST_GUI_PAGE_ADDR, (uint16*)buff, 1024/2);

	FLASH_Lock();
}
示例#5
0
void store_gui_page(uint32 addr, uint8 offset, uint8* data)
{
	uint8 buff[1024] = {0};

  FLASH_Unlock(); 
	
	
  FLASH_Unlock(); 
	FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR );
	if(FLASH_COMPLETE != FLASH_ErasePage(addr))
	{
    return;
  }
	memcpy(buff, data, 1024);
	
  Flash_WriteData((uint32)(addr + offset*0x400), (uint16_t*)buff, (0x400 + 1)/2);
	FLASH_Lock();
}
示例#6
0
文件: TankCom.c 项目: tongjingyu/Prj
void Save_Sensor_Configs(uint8 Offset)
{
	Flash_WriteData(CONFIGS_ADDR_BASE,&DevRun_Value.FullWeight,sizeof(DevRun_Value.CROSS_DATA)+4);
}