اطلاعیه

Collapse
No announcement yet.

ذخیره سازی دائمی روی LPC1343

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ذخیره سازی دائمی روی LPC1343

    سلام.
    من یک میکرو LPC1343 دارم. میخواهم روی آن تنها و تنها یک داده ذخیره کنم که با قطع برق هم ماندگار باشد.
    با استفاده از اشاره گر داده را روی فضای فلش ذخیره کرده ام، در موقع ریست ماندگار است اما با قطع برق داده تغییر میکند.

    #2
    پاسخ : ذخیره سازی دائمی روی LPC1343

    Upload your code please

    دیدگاه


      #3
      پاسخ : ذخیره سازی دائمی روی LPC1343

      هیچ میکروکنترلر باصاحابی به شما اجازه نمیده همینطوری با آدرس دادن به حافظه فلش روش بنویسید. حتا اگر یه IDE "کد ساده کن" مث کدویژن یا هرچی، این امکان رو به شما داد که اینطوری مقدار دهی کنید، یا خودش یه سری کتابخونه داره و اینکار رودر پس زمینه انجام میده براتون، یا اصن آدرس شما رو نادیده میگیره و یه جایی توی رم مقدار شما رو به عنوان بافر ذخیره میکنه.
      میکروکنترلرها برای حافظه فلش، (با فرض اینکه امکان IAP داشته باشن) چند رجیستر قفل دارن. شما نمیتونی همینطوری توش بنویسی. چون اگر اینطور نباشه، نویز محیط یا مقداردهی های اشتباه باعث میشه کد خراب بشه و خلاصه هر فاکتوری تو طبیعت بیاد یه داده ای رو فلش میکرو بنویسه برای خودش.

      خیلی از میکروها، قفل زمان دار هم دارن علاوه بر قفل معمولی. مثلا برای نوشتن تو فلش یه میکرو، معمولا روند اینطوری انجام میشه :

      1) باز کردن قفل فلش با نوشتن توی دوتا رجیستر خاص. مثلا میگن تو رجیستر الف، مقدار 10 رو بنویس و تو رجیستر ب، معکوس این رو بنویس که ما بفهمیم نویز نبوده خودت بودی نوشتی. ممکنه زمان بندی هم داشته باشه نوشتن روی این دو رجیستر. مثلا ماگزیمم 100 میکروثانیه فاصله بین دو نوشتن باشه.
      2) نوشتن داده ی مورد نظر (که ممکنه ابتدا بافر بشه) و بعد نوشتن یه مقدار خاص تو یه رجیستر که عملیات نوشتن رو شروع کنه. عملیات نوشتن زمان بر هم هست.
      3) برگردوندن قفل رجیستر و پایان عملیات


      تو مسئله شما، مقدار روی رم نوشته شده که بعد از برق پاک میشه. علت اینکه بعد از ریست هم مقدار مورد نظر شما مونده اینه که تو استارتاپ، صفر کردن عمدی متغییرها و صفر کردن کل رم انجام نمیشه. کاملا بستگی به کامپایلر و کد استارتاپ ارایه شده توسط شرکت / کامپایلر داره
      Si vis pacem, para bellum

      دیدگاه

      لطفا صبر کنید...
      X