دو تا سوال در مورد جدول Lookup - رفع اشکال برنامه avr - تالار گفتمان | یزد کیت

اين اختيار صفحه ي اصلي را همانند اول خواهد كرد ، تمام ابزارك ها و تنظيمات به حالت اول باز خواهند گشت.

ريست
 
شما باید برای پست دادن وارد شوید ورود ثبت نام


ثبت نام? | رمز عبور را گم کرده ام?

جستجوی فروم ها:


 






Wildcard استفاده ی:
*    مطابق بودن هر تعداد کاراکتر
%    مطابقت دقیقاً مثل هم

دو تا سوال در مورد جدول Lookup

هیچ گیرنده ای انتخاب نشده است
برچسب ها
کاربرپست

۱۰:۰۰ ب.ظ
ژوئن ۲۹, ۲۰۰۹


EhsanAvr

میهمان

سلام به همگی
دو تا سوال درباره Lookup Table داشتم اگه میشه دوستان هر کی در این مورد اطلاعات داره منو کمک کنه:
۱- چجوری میتونیم یه Lookup در حافظه EEPROM داشته باشیم و بتونیم مقدار های اونو تغییر بدیم؟
۲-آیا راهی وجود داره که بشه باهاش تعداد متغیر های درون Lookup رو از طریق کد نویسی به دست بیاریم؟

۸:۴۷ ق.ظ
ژوئن ۳۰, ۲۰۰۹


مدیر

میهمان

سلام
سوال شما در مورد کدام زبان برنامه نویسی هست c یا بیسیک

اگه در مورد بیسیک هست تا جایی که من میدونم در مورد هر دوسوال بالا

- چجوری میتونیم یه Lookup در حافظه EEPROM داشته باشیم و بتونیم مقدار های اونو تغییر بدیم؟

تا جایی که من میدونم نمیشه و شاید هم میشه ومن دنبالش نبودم و نمیدونم

آیا راهی وجود داره که بشه باهاش تعداد متغیر های درون Lookup رو از طریق کد نویسی به دست بیاریم؟

نه نمیشه

یا علی

۹:۴۸ ق.ظ
ژوئن ۳۰, ۲۰۰۹


EhsanAvr

میهمان

سلام
ممنون از جوابتون
حالا اگه خواسته باشیم یه آرایه در EEPROM داشته باشیم اونو چجوری تعریف میکنیم و نحوه ی استفاده از اون و مقدار دادن به تک تک عناصراون چجوریه؟
تو سی این کار خیلی ساده است ولی تو بیسیک من دقیقا نفهمیدم این کار چجوری انجام میشه؟

۶:۵۲ ب.ظ
ژوئن ۳۰, ۲۰۰۹


مدیر

میهمان

سلام

حالا اگه خواسته باشیم یه آرایه در EEPROM داشته باشیم

من خودم با بسیک کار می کنم ولی منظورتون از ارایه چیست شاید در بیسیک اصطلاح دیگه ایی براش گفتن اگه میشه بیشتر توضیح بدید
برای استفاده از EEPROM دو روش است فعلا یکیشا می گم
برای ریختن اطلاعات در EEPROM از دستور زیر استفاده می کنیم
dim a as byte
a=120
و دستور اصلی:
writeeeprom a,1
waitms 5
باید ? میلی ثانیه صبر کنید تا کاملا عملیات ریختن صورت گیرد

a متغییر و عدد بعد از ان که ? است شماره خانه EEPROM است که از ? تا ??? می توانید بگذارید
و برای خواندن

dim b as byte

و دستور اصلی
readeeprom b ,1

که مانند قبل مقدار را از خانه (در این مثال خانه ? ) می خواندو در متغییر b می ریزد
—————————————————————————————–
روش دوم برای بعد
شرمنده چون باید برمcool

۷:۵۵ ب.ظ
ژوئن ۳۰, ۲۰۰۹


EhsanAvr

میهمان

سلام
ممنون از جواب دقیق و سریعتونsmile
منظورم از آرایه یه نوع متغیر است که دارای چند یا چندین عنصر است که با ایندکس دادن به آرایه میتوان به عناصر آرایه دسترسی پیدا کرد.
برای مثال در زبان سی برای کد ویژون میخوایم یه آرایه که در حافظه Flash میکرو جای میگیرد تعریف کنیم. کد به شکل زیر است:(به خاطر فارسی بودن صفحه ممکنه درست اونو نبینین)
flash unsigned char a[20];
حالا اگه خواسته باشیم مثلا به عنصر دوم آرایه مقدار بدیم اینجوری مینویسیم:
a[1]=10;

حالا تو بیسیک آرایه رو اینجوری تعریف می کنیم:
dim a(1 to 20) as byte
یا
dim a(20) as byte

این آرایه ها در برنامه نویسی کاربرد فراوانی دارن مخصوصا از نوع دو بعدی اون که در سیی اینجوری تعریف میشه:
int a[10][10];
که فکر نکنم در بیسکام این قابلیت وجود داشته باشه.

۷:۴۲ ق.ظ
جولای ۱, ۲۰۰۹


مدیر

میهمان

پست در تاریخ ۷:۵۰ ق.ظ – جولای ۱, ۲۰۰۹ توسط مدیر ویرایش شد


سلام
منظورتون را از ارایه متوجه شدم در مورد ارایه ? بعدی حق با شماست چون تا جایی که من می دونم نمیشه چنین ارایه ایی در بیسکام تعریف کرد.

در این قسمت روش دوم تعیین متغییر در EEprom می گم که با یک تیر دو نشون را بزنیم

Dim x As Eram Byte

Dim X As Eram Integer

Dim Y As Eram Word

Dim Z As Eram Long

Dim P As Eram Single

Dim O As Eram String * 1

به این طریق متغییری را در EEProm تعریف می کنیم

و حال برای برنامه دوست عزیزمون فکر کنم باید به روش زیر عمل کنیم

Dim B As Byte
Dim C As Byte

Dim A(20) As Eram Byte

B = A(1)
‘——————-
C = 10
A(1) = C

ارایه A در Eeprom تعیین شده و برای خواندن مقدار باید یک متغییر دیگر که مناسب باشد را تعریف کنید مثلا در این برنامه متغییر B و C را از بایت تعریف کردیم چون ارایه A از نوع بایت است
باید برای خواندن مقدار متغییر از EEPROM از روش زیر استفاده کنیم
B = A(1)

و برای ریختن مقدار در ان از روش زیر
A(1) = C

اگر بد نشون داده می شه شرمنده
درضمن من این دستور را به صورت عملی تست نکردم ولی فکر نکنم مشکلی داشته باشد.
یا علی

۱۰:۵۴ ق.ظ
جولای ۱, ۲۰۰۹


EhsanAvr

میهمان

سلام
از راهنماییتون متشکرم
یه سوال دیگه داشتم : چجوری میشه فهمید که به آخر Lookup Table رسیدیم؟
یعنی ما یه جدول Lookup داریم که چند تا مقدار داره . یه متغیر هم از نوع eeprom داریم که با زدن مثلا یه کلید یکی به مقدار اون اضافه میشه و متناسب با مقدار متغیر مقدار متغیر از lookup استخراج میشود. و میخوایم وقتی به آخر رسید از اول شرع کند.
راستی تا یادم نرفته بگم : چجوری میشه در بیسکام یه متغیر یا آرایه تعریف کرد که مکان آن در Flash میکرو باشه و Ram اضافی اشغال نکنه.

۱۲:۴۰ ب.ظ
جولای ۱, ۲۰۰۹


مدیر

میهمان

پست در تاریخ ۱۲:۴۸ ب.ظ – جولای ۱, ۲۰۰۹ توسط مدیر ویرایش شد


سلام

یه سوال دیگه داشتم : چجوری میشه فهمید که به آخر Lookup Table رسیدیم؟

ببینیدعملا پرچم یا فلگی نیست که به ما بفهمونه به اخر جدول رسیدیم اما میتونید مثلا در آخر جدول یک عدد یا مقدار خاص بذارین و مدام چک کنین که به اون مقدار رسیدین یا نه و بدین ترتیب متوجه بشین که به اخر جدول رسیدین

چجوری میشه در بیسکام یه متغیر یا آرایه تعریف کرد که مکان آن در Flash میکرو باشه و Ram اضافی اشغال نکنه.

ببینید در حالت عادی وقتی ما یه متغیری را تعریف میکنیم در حافظه فلش میکرو فضا میگیره مثلا با دستور
dim a as byte
اما اگر متغیری بخواهین که بشه در اون مقداری را ذخیره کرد تا با قطع ولتاژ میکرو مقدار اون متغیر ثابت بمونه باید در eeprom بریزین امامنظورتون از این که رم اضافی اشغال نکنه را
منظوتون اینه که با اضافه کردن متغییر ها، فضای ومقداری حجمی که برنامه مینویسین زیاد نشه و از رم میکرو استفاده نکنه که نمیشه در بعضی موارد در صورت کم اوردن رم میکرو باید میکرو قوی تری را انتخاب کنین

۵:۵۷ ب.ظ
جولای ۱, ۲۰۰۹


EhsanAvr

میهمان

سلام
در مورد جدول lookup فکر بسیار خوبیه :لبخند:
اما من این وسط در موردمتغیر ها یه خورده گیج شدم eek
چون در کدویژن متغیر رو سه جور تعریف میکردیم:
نوع اول که در ram میکرو جای می گرفت : ;int a
نوع دوم که در حافظه eeprom جای می گرفت : ;eeprom int a
نوع سوم که در flash جای میگیره : ;flash int a
نوع سوم در زمان اجرا یا همون بعد از کامپایل قابل تغییر نیست.
حالا در بیسکام برای اینکه متغیری مانند نوع سوم تعریف کنیم از const استفاده میکنیم
برای نوع دوم هم که شما توضیح دادین و برای نوع اول من دقیقا نفهمیدم موضوع چیهeek

۶:۴۳ ب.ظ
جولای ۱۴, ۲۰۰۹


Mostafa-y

میهمان

سلام
ببخشید. حالا اصلا این look up چی چی هست؟eek

برچسب ها


 


Video & Audio Comments are proudly powered by Riffly