آموزش میکروکنترلرهای STM8 با توابع EEPROM – SPL

مقدمه

کلمه ی EEPROM مخفف Electrically Erasable Programmable Read-Only Memory میباشد که در واقع یک نوع حافظه دائمی میباشد که با قطع برق اطلاعات آن پاک نمیشود. در برنامه های میکرو کنترلی متغیرهای تعریف شده درون برنامه تا زمانی که میکروکنترلر در حال کار هست مقادیر را نگاه میدارند اما پس از قطع شدن برق میکروکنترلر تمامی متغیرها به حالت پیش فرض تعریف شده خود باز خواهند گشت. بعضی از متغیر ها نیاز است که پس از مقدار گرفتن با قطع شدن برق همان مقدار را حفظ کرده و پاک نشود.

مثال عملی

یک مثال عملی: مثلا در پروژه ای نیاز است تا مقدار فشار داخل یک مخزن را روی عدد ثابتی که کاربر تنظیم میکند نگه داریم. پس از دریافت مقدار set point (همان مقداری که باید فشار مخزن روی ان ثابت بماند)  با کنترل کردن منبع فشار (مانند پمپ هوا) ، فشار هوای مخزن را روی set point نگه میداریم. در صورت قطع شدن برق یا خاموش شدن دستگاه مقدار set point باید مجددا توسط کاربر تعریف شود که اتفاق جالبی نیست پس باید این عدد را روی حافظه ای ذخیره کنیم که یک انتخاب برای اینکار میتواند حافظه ی eeprom باشد.

EEPROM

میکرو کنترلر های stm8s دارای حافظه eeprom داخلی با ظرفیت های مختلف میباشد که از دیتاشیت میتوان حجم آنرا استخراج نمود. برای استفاده از این حافظه در برنامه، قدم اول اضافه کردن فایل سورس stm8s_flash.c به ساختار درختی پروژه است.

بازکردن حافظه

قدم دوم unlock کردن حافظه eeprom میباشد که با این دستور در ابتدای برنامه میتوانید این کار را انجام دهید.

حالا با استفاده از توابع دیگر فایل stm8s_flash.c میتوانیم عمل خواندن و نوشتن را روی حافظه انجام دهیم. البته نام توابع موجود در این کتابخانه بیانگر عملکر هر کدام میباشد اما دو تابع پایه خواندن نوشتن را در این قسمت جهت روشن شدن موضوع توضیح میدهیم.

برای نوشتن یک بایت داده در یک ادرس مشخص از حافظه ایپرام از تابع زیر استفاده میکنیم. که با استفاده از این دستور عدد ۲۵ در ادرس 0x004000 حافظه نوشته میشود.

و همچنین برای خواندن یک بایت داده از حافظه ایپرام با ادرس مشخص از دستور زیر استفاده میکنیم که مقدار خوانده شده از ادرس 0x004000 را در متغیر data قرار میدهد.

در این مثال از میکروکنترلر stm8s003 استفاده شده است که این میکرو کنترلر دارای ۱۲۸ بایت حافظه eeprom میباشد که از ادرس 0x004000 شروع میشود که این ادرس را میتوان با مراجعه به refrence manual میکروکنترلر مورد نظر در بخش Flash program memory and data EEPROM پیدا کرد.

آموزش STM8 با توابع EEPROM- SPL

همچنین با استفاده از نرم افزار stvp که شرکت st برای پروگرم نمودن میکروکنترلر های ۸ بیتی خود ارائه داده میتوان ادرس شروع و پایان بخش های مختلف حافظه را به همراه دیتای موجود در ان را مشاهده کرد.

دانلود نرم افزار ST Visual Develop (STVD)

آموزش STM8 با توابع EEPROM- SPL

برچسب ها

tags, , , , , , , , , , , , , , , , , , , , ,
اولین میکروکنترلر هشت پایه ۳۲ بیتی شرکت ST
تاریخچه پیدایش میکروکنترلرهای STM32

این مطلب را به اشتراک بگذارید

پست های مرتبط

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست