ايران ويج

نسخه‌ی کامل: rfm01 من برنامه ریزی نمیشود اساتید کمک کنید
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
بعد از مدتها کار موفق شدم مازول ارسال rfm02 را برنامه ریزی کنم تا از آن استفاده کنم
ولی متاسفانه موفق به برنامه ریزی rfm01 (دریافت) نشدم یعنی مثلا با تغییر تنظیمات مربوط به فرکانس پایه clk یا حتی غیر فعال کردن اون دائم فرکانس 1mhz رو در خروجی دارم
برنامه رو بسیار ساده و باز نوشتم البته این برنامه فقط برای بخش تنظیمات است
لطفا کمکم کنید

کد:
$regfile "m16def.dat"
$crystal = 8000000
Config Portb.0 = Output , Portb.1 = Output , Pinb.2 = Input , Pinb.3 = Input , Portb.4 = Output
Sdi Alias Portb.0
Nsel Alias Portb.1
Ir Alias Pinb.2
Sdo Alias Pinb.3
Sck Alias Portb.4
Reset Sck
Set Sdi
Set Nsel
'command=0000 0000 0000 0000 = 0000 status read
Reset Nsel
Waitus 2
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command =1001 0001 1000 1011=918b configuration setting
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command=1010 0000 1000 0000=a640 frequency setting
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command=1100 1000 0100 0111=c847 data rate
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command=1100 0110 1001 1011=c698 afc
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command=1100 0100 0010 1010=c42a data fliter
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command=1100 0010 1110 0000=c2e0 low battery detector
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
'command=1100 0000 1000 0000=c080 reciever setting
Reset Nsel
Waitus 2
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Waitus 2

Set Nsel

Waitus 20


'command=1100 1110 1000 1000=ce88 fifo command

Reset Nsel

Waitus 2

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Waitus 2

Set Nsel

Waitus 20


'command=1100 1110 1000 1011=ce8b fifo command

Reset Nsel

Waitus 2

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Reset Sdi
Gosub Clock

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock

Waitus 2

Set Nsel

Waitus 20


'command=1100 0000 1100 0001=c0C1 reciever setting

Reset Nsel

Waitus 2

Set Sdi
Gosub Clock

Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Set Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Reset Sdi
Gosub Clock
Set Sdi
Gosub Clock
Waitus 2
Set Nsel
Waitus 20
Reset Sck
Reset Sdi
Reset Nsel
End
Clock:
Reset Sck
Waitus 10
Set Sck
Waitus 2
Reset Sck
Return
من با این مدل فرستنده گیرنده کار نکردم.با HMT-HMR کار کردم .تو طول انجام پروژم با این مشکل خیلی مواجه شدم(که فرستنده میفرستاد اما گیرنده نمیگرفت). ولی بهم ثابت شده که کاری به برنامش نداره چون با اندازه گیری مداوم ولتاژ پایه ی DATA فهمیدم که بعضی وقتها گیرنده به یک حالتی مثل استراحت میره و باید چندین بار reset بشه تا از اون حالت بیرون بیاد.
البته ماژولها با هم تفاوت دارن ماژول من سه پایه بیشتر نداشت ولی کاتالوگهای RFm01 و RFm02 را که دیدم مثل اینکه حداقل 12تا پایه داره.
سلام
شما ابتدا ماژول ها رو بردار و میکرو ها رو با سیم به هم متصل کن ببین کار میکنه یا نه
اگر کار کرد: شما کلاک فرتنده رو روی 1 مگا هزتز تنظیم ن
اگر کاذ نکرد : ممکنه کریستال رو درست برنامه ریزی نکرده باشی یه تغذی میکرو ها مشکل داشته باشه
ممنونم از اینکه پاسخ دادید
ببینید من اصلا به اینکه مازول دریافت کند کاری ندارم. مشکل من اینه که اصلا مازول برنامه ای که من میدم رو عمل نمیکنه چون مازول قبل از دریافت باید برنامه ریزی بشه. مثلا وقتی فرکانس رو روی 10mhz تنظیم میکنم یا حتی اسیلاتور رو غیر فعال می کنم بازم می بینم که رو پایه clk فرکانس 1mhz دارم این نشون میده که مازول برنامه رو قبول نکرده در صورتیکه من مازول فرسنتده rfm02 را به همین صورت برنامه ریزی کردم
ببینید مازول اگه درست برنامه گرفته باشد بعد از برنامه دهی با 1 بودن NSEL پایه NIRQ باید موج مربعی تولید کنه
من فکر کنم مشکل از برنامه نویسیم باشه چون RFM02 رو هم خیلی وقت گذاشتم تا راه افتاد
حالا اون روشی رو هم که دوست عزیزم MAHBOOB گفتن رو من چک می کنم ببینم چی مشه
لطفا کمکم کنید
کسی نبود به من کمک کنه؟
من خیلی دوست دارم کمکت کنم.ولی نمیدونم چرا نمیفهمم چی میخوای؟تو مگه دو تا میکرو نداری؟
-بدون فرستنده وگیرنده،هرکدومو جداجدا تست کن با برنامه های مربوط به خودشون تا مطمئن بشی اشکال از برنامت نیست.
-بعد مطمئن شو که فرستنده میفرسه و گیرنده هم میگیره.
-اگه تا اینجا درست بوده ولی گیرنده جوابای درستی نمیگرفته مال نویزه.خطایابی کن.یعنی مثلا هر داده ای که میفرسی NOT اون داده را هم بلافاصله بعدش بفرس.و اگه تو فرستنده داده ای که گرفتی بعدش NOT ش بود اون داده ی دریافتی درسته.
ببین قبل از اینکه گیرنده بتونه داده رو دریافت کنه باید برنامه ریزی بشه تو مد برنامه ریزی nsel=0 باید باشه
وقتی برنامه رو که بهش دادی NSEL=1 میکنی
اگر برنامت درست باشه پایه NIRQ یه پالس مربعی تولید میکنه که در لبه پایین روندش میتونی دیتا رو بخونی
ولی اصلا گیرنده من برنامه رو قبول نمیکنه من فرستنده رو هم به همین روش برنامه دهی کردم و و پایه NIRQ اون برای فرستادن دیتا جواپ داد ولی در گیرنده حتی وقتی فرکانس اسیلاتور رو روی 10MHZ تنظیم میکنم بازم فرکانس 1MHZ رو بهم میده
چیز قابل فهمی هم تو دیتا شیتش ننوشته اینارو هم که میگم با هزار بدبختی از فرومهای خارجی سرچ کردم
امیدوارم که خوب تونسته باشم مشکلم رو بیان کن:(:(:(:(
خوب مشکل برنامه نگرفتن حل شد :))
مشکل از اینجا بود که اول برنامه باید یه وقفه به اندازه نیم ثانیه میذاشتم
ولی هنوز پایه nriq به معنی دریافت دیتا عمل نمیکنه :((((
اگه میدونستم این مازول انقدر کار کردن باهاش سخته یه چیز دیگه میخریدم
حالا نظر بدین چرا دیتا نمیگیره؟
بابا یکی کمک کنه چرا پایه nriq اصلا صفر نمیشه؟