中级会员
 
- 积分
- 202
- 金钱
- 202
- 注册时间
- 2015-11-19
- 在线时间
- 31 小时
|

楼主 |
发表于 2017-1-13 11:06:21
|
显示全部楼层
#define ErrorObjSize 7
#define FLASH_HISTORICAL_EVENT_START_ADDR 0X08050000
void record_new_event(_EVENT_LOG_LIST_obj* data)
{
static uint16_t j=0;
uint8_t i;
uint16_t buffer[ErrorObjSize];
uint32_t addr32;
buffer[0] = 7;
buffer[1] = 8;
buffer[2] = 9;
buffer[3] = 10;
buffer[4] = 11;
buffer[5] = 12;
buffer[6] = 13;
addr32 = FLASH_HISTORICAL_EVENT_START_ADDR + j*ErrorObjSize*2;
if(j==146)
{
delay_ms(20);
/*
addr = FLASH_HISTORICAL_EVENT_START_ADDR+2044 = 0x08507fc 要跨扇区了
写入buffer = {0x0007,0x0008,0x00009,0x0a,0x0b,0x0c,0x0d}
读出buffer = {0x0001,0x0007,0xffff,0xffff,0xffff,0xffff,0xffff}
*/
}
STMFLASH_Write(addr32,buffer,ErrorObjSize);
j++;
delay_ms(10);
STMFLASH_Read(addr32,buffer,ErrorObjSize);
}
int main(void)
{
_EVENT_LOG_LIST_obj data;
while(1)
{
record_new_event(&data);
}
}
|
|