|
السلام عليكم
بالنسبة للقيم المخزنة فى الروم الخارجية هتكون قيم ثابتة ... وهيتم استدعائها من الروم عند الحاجة ..
السؤال هنا ... اخى الكريم ... هل استدعاء البيانات او القيم المخزنة فى الروم ... هتكون القرأة من الروم بنظام التسلسل .. ولا ممكن قرأ البيانات دفعة واحدة ... وسؤال أخر .. كيف لى ان اخزن دالة معينة داخل الروم الخارجية .. وتكون هذة الدالة تحتوى على اوامر اعطاء واحد منطقى على عدد معين من الببورت B وعدد معين ايضا من ورت أخر ... كيف يتم ذالك ..
ومشكور جداااااا على الشرح الجميل اللى حضرتك ارفقتة فعلا انت انسان مبدع بارك الله فيك وفى اهلك ..
تحياتى لك استاذى
|
السلام عليكم
شكرا جزيلا على كلامكم الطيب
اخي العزيز يوجد فرق كبير بين روم وايبروم
الروم ذاكره يتم خزن فيها البرنامج الاساسي والقيم الثابته اي يمكن قراءه البيانات ولكن لايمكن اعاده كتابتها من داخل البرنامج نفسه
اما الايبروم فهي ذاكره قراءه وكتابه ولها خاصيه بالاحتفاظ بالقيم
===================================
اخي العزيز طالما انت تقول القيم عندك ثابته فيمكن خزن هذه قيم بالروم على شكل مصفوفه
بالطبع لايشترط بالضبط قراءه البيانات بشكل متسلسل وهنا انت تقرأ البايت حسب موقعه اما اذا كانت متسلسله فيمكن قرائتها ايضا بايت بايت ولكن هنا تكدر عمل حلقه تكرار لكون بيانات مخزونه في مواقع متسلسله
ملاحظه // كل متقير تكتب امامه كلمه const فمعناه هذا رقم ثابت او متغير ثابت ويتم خزنه في روم مباشره .
مثلا اريد خزن هذه الارقام في روم 1,5,10,20,50
كود:
const char data1[]={1,5,10,20,50}
وبالطبع اخي تكدر تقرأ من روم لانك عندك مصفوفه مثلا تكدر تقول
[portb=data1[2
اي هنا portb=10
وهكذا وبالطبع تكدر تقرأ البيانات دفعه واحده لانه عندك مصفوفه تكدر اسوي حلقه تكرار وتقرأ البيانات
على فكره اخي اذا تريد خزن نص بروم يمكنك كتابه
كود:
const char *data2="memory";
بالطبع عمليه قراءه سهله جدا حيث تلاحظ
وهكذا
طبعا للتذكير الفرق بين رام وروم هو كلمه const عند وضع كلمه const امام متغير فهو سوف يخزن في روم واذا لم تضعها فسوف يخزن متغير في رام