谢谢张老师,我已经更改过来了。<br /><br />贴出来看一看。<br /><br /><br />#pragma CONST_SEG DEFAULT<br />const INT32U RKE_SerialNum0 @0xf700; <br />const INT32U RKE_SerialNum1 @0xf900;<br /><br />INT8U SAVE_SERIAL_NUMBER(INT8U SeriCnt)<br />{<br /> INT16U *serial_flash_addr;<br /> <br /> static INT16U TempBuf[2] = {MB_ZERO};<br /> <br /> if (MB_First_Key == SeriCnt)<br /> {<br /> serial_flash_addr = &RKE_SerialNum0;<br /> }<br /> else if (MB_Second_Key == SeriCnt)<br /> {<br /> serial_flash_addr = &RKE_SerialNum1;<br /> }<br /> else<br /> {<br /> return (0);<br /> }<br /><br /> TempBuf[0] = RKE_FIFO_DATA[3] & 0x0fff;<br /> TempBuf[1] = RKE_FIFO_DATA[2];<br /> <br /> FlashTmpBitVar = EraseEE((INT8U *)serial_flash_addr);<br /> if (FlashSuc != FlashTmpBitVar)<br /> {<br /> Delay(100);<br /> FlashTmpBitVar = EraseEE((INT8U *)serial_flash_addr);<br /> if (FlashSuc != FlashTmpBitVar)<br /> {<br /> Delay(100);<br /> FlashTmpBitVar = EraseEE((INT8U *)serial_flash_addr);<br /> }<br /> }<br /><br /> FlashTmpBitVar = WriteEE((INT8U *)(serial_flash_addr), &TempBuf, MB_Seri_28bit);<br /> if (FlashSuc != FlashTmpBitVar)<br /> {<br /> Delay(100);<br /> FlashTmpBitVar = WriteEE((INT8U *)(serial_flash_addr), &TempBuf, MB_Seri_28bit);<br /> if (FlashSuc != FlashTmpBitVar)<br /> {<br /> Delay(100);<br /> FlashTmpBitVar = WriteEE((INT8U *)(serial_flash_addr), &TempBuf, MB_Seri_28bit);<br /> }<br /> } <br />}<br />
|