سلام دوستان pic 24hj32gp202 حافظه eeprom نداره كاري ميشه كرد ميشه تو rom نوشت كه احتياج به حافظه خارجي نداشته باشيم ؟؟؟؟؟؟؟؟؟؟؟؟؟
سلام دوستان pic 24hj32gp202 حافظه eeprom نداره كاري ميشه كرد ميشه تو rom نوشت كه احتياج به حافظه خارجي نداشته باشيم ؟؟؟؟؟؟؟؟؟؟؟؟؟
داده های برنامه شما متغیر یا ثابت ؟
میتونی از فلش(rom) میکرو استفاده کنی در واقع قrom همون حافظه ی برنامه (flash) هست ولی باید بدونی اخرین ادرس حافظه rom میکرو که برنامه قرار گرفته شمارش چنده ؟ مثلا برنامه ی شما تا ادرس 1FF0 رو اشغال کرده شما باید بعد از 1FF0 یا همون 1ff1 داده ذخیره کنید
مثال ( زبان برنامه نویسی CCS)
#include <16F877.H>
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock = 20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)
#rom 0x1FF0 = {"End of ROM"}
//===================================
void main()
{
while(1);
}
ممنون تز جوابتون ولی تو رام نمیشه نوشت فقط میشه ثابت در نظر گرفت
دستور هست برای ای سی هایی که حافظه اشون فلش که میتونی تو حافظه بنویسی البته باید مقدار استفاده نشده حافظه رو پیدا کنی و از اون ادرس به بعد بنویسی خیلی جالب به درد بخور
FLASH_ERASE_SIZEfor(i=0x1000;i<=0x1fff;i++) { value=read_adc();
write_program_memory(i, value, 2);
delay_ms(1000);
}
FLASH_WRITE_SIZE.
read_program_memory( )
میشه. ولی علاوه بر اینکه تعداد نوشتن و خوندن تو ROM کمتر از EEPROM هست، دردسر زیادی هم داره.
خود میکروچیپ هم مثال هایی داره و یه Application Note که اگه سرچ کنی پیدا میشه (دقیقا برای میکروهایی که eeprom داخلی ندارن).
معمولا میکروهایی که RTSP پشتیبانی میکنن میشه حین کار تو هر قسمت از حافظه بنویسی و بخونی.
ولی من آخر به این نتیجه رسیدم استفاده از eeprom خارجی راحتترو مطمئن تره!
دقیقا من هم به همین نتیجه رسیدم