السلام عليكم
إلى خبراء الميكركنترلر أريد أن استفسر لماذا يتم محو البيانات التي سجلت فال-EEPROM بعد RESET بال GOTO 0X0000
كود:
k= EEPROM_Read(0x20);
if(k==255)
{
EEPROM_Write(0x02,0);
}
k= EEPROM_Read(0x20);
if(k!=255 && k>=0)
{
EEPROM_Write(0x02,k+1);
}
asm goto 0x0000
|
السلام عليكم
أنا لاأعرف الجواب بشكل الصحيح ولكن عندي ملاحظه
وهي يجب ان تكون هناك فتره زمنيه بين عمليه القراءه والكتابه على أقل 20ms لكي تضمن بأن عمليه خزن البيانات في ايبروم او قراءتها تتم بنجاح ولربما يكون هذا هو سبب يعني أصلا ايبروم ماراح أتخزن أي بيانات أصلا او ربما يكون سبب أخر
هذه ملاحظه من مكتبه مايكروسي برو
Ensure minimum 20ms delay between successive use of routines EEPROM_Write and EEPROM_Read. Although PIC will write the correct value, EEPROM_Read might return an undefined result.
تحياتي