// Example: This will return an error!! Can't program 1
// because bit 0 in the the location was previously programmed
// to zero!
for(i=0;i<WORDS_IN_FLASH_BUFFER;i++)
{
Buffer[i] = 0xFFFF;
}
// because bit 0 in the the location was previously programmed
// to zero!
for(i=0;i<WORDS_IN_FLASH_BUFFER;i++)
{
Buffer[i] = 0xFFFF;
}
Flash_ptr = Sector[0].EndAddr;
Length = 13;
Status = Flash_Program(Flash_ptr,Buffer,Length,&FlashStatus);
if(Status != STATUS_FAIL_ZERO_BIT_ERROR)//STATUS_FAIL_ADDR_INVALID)
{
Example_Error(Status);
}
Length = 13;
Status = Flash_Program(Flash_ptr,Buffer,Length,&FlashStatus);
if(Status != STATUS_FAIL_ZERO_BIT_ERROR)//STATUS_FAIL_ADDR_INVALID)
{
Example_Error(Status);
}
例程中,为什么不能写1?please。
Eric Ma:Eric:
C2000的flash 如果不擦出的话,按位操作,1可以编程为0, 0 不可以编程为1. 如果要这样子做,必须先擦出flash。
TI中文支持网




