这是我写的一次写入flash n个数据的子程序,但是只有在第一次写入ok,之后再进行写入的时候数据就不对了,不知道为什么,请高手帮忙看下!
void Task_WriteFlash(uint16_t Address_temp,uint16_t Datanum_temp)
{
char_t *Flash_ptr;
uint16_t i,Temp;
Temp = Datanum_temp;
Flash_ptr = (char_t *)Address_temp;
_BIC_SR(GIE);
while(FCTL3 & LOCK)
{
FCTL3 = FWKEY;
}
FCTL1 = FWKEY + WRT;
while(FCTL3 & BUSY);
for(i = 0u;i < Temp;i++)
{
while(FCTL3 & BUSY);
*Flash_ptr++ = Data_Reg
;
}
FCTL1 = FWKEY;
FCTL3 = FWKEY + LOCK;
_BIS_SR(GIE);
}
此帖出自小平头技术问答
一周热门 更多>