NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3964 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 22

موضوع: مشکل درrfm12b

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض مشکل درrfm12b

    سلام
    کسی میدونه این دو حلقه در راه اندازی rfm12b برا چیه ؟
    حلقه for و int main در فایل پیوست
    فايل هاي پيوست شده فايل هاي پيوست شده

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    اون for که شمارندش 16 است برای پروتکل spi 16 بیتی است

  4. تشکرها از این نوشته :


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام تشکر از جوابتون
    ولی می خواستم ببینم این recv و cmd تو حلقه برا چیه ؟ وتویint حلقهfor هزار واون یکی برا چیه و rfsend برا چیه و چرا تکرار کرده

  6. #4
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    بیبین این for بخشی از تابع
    کد:
    unsigned int writeCmd(unsigned int cmd)
    هستش این تابع همون طور که از شکلش معلوم هست موقع فراخوانی متغییری به اسم cmd رو میگیره و یک متغیر int رو بر میگردونه که در انتهای تابع نوشته return recv
    برای تنظیم کردن ماژول باید کد های 16 بیتی ارسال کرد که هر کدوم یه چیزی رو تنظیم میکنن مثلا برای کانفیگ کردن از یک کد که با 80 شروع میشه استفاده میکنن و تو قسمت زیر نگه کنی برای دادن تنظیمات اولیه به ماژول این کد ها رو براش فزستاده این کد ها جای متغییر cmd که مخفف کامند هست قرار میگیرن و چون ماژول اول بیت پر ارزش رو میگیره cmd رو با عدد (8000h=10000000000000000) که فقط یه دونه یک در قسمت msb داره and میکنه وبعد اگر جوابش یک باشه یعنی این بیک یک بوده پس یک ارسال میشه و اگر صفر باشه صفر ارسال میشه cmd تا 16 بار شیفت پیدا میکنه ود همین حین اطلاعاتی که از ماژول میگیره را تو recv میریزه
    کد:
    void rfInit() {
    writeCmd(0x80E7); //EL,EF,868band,12.0pF
    writeCmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC
    writeCmd(0xA640); //frequency select
    writeCmd(0xC647); //4.8kbps
    writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm
    writeCmd(0xC2AC); //AL,!ml,DIG,DQD4
    writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR
    writeCmd(0xCED4); //SYNC=2DD4 , AG
    writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN
    writeCmd(0x9850); //!mp,90kHz,MAX OUT
    writeCmd(0xCC17); //OB1 , ACOB0, LPX,Iddy,CDDIT,CBW0
    writeCmd(0xE000); //NOT USED
    writeCmd(0xC800); //NOT USED
    writeCmd(0xC040); //1.66MHz,2.2V
    }

    الان دیگه وقت ندارم بقیه ش رو فردا تایپ میکنم

  7. تشکرها از این نوشته :


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    ممنون از راهنمایی این قسمت
    منتها تو حلقه int main دو حلقه for برا چیه ؟ و تکرار rfsend برای چیه ؟

  9. #6
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    نقل قول نوشته اصلی توسط asadi843 نمایش پست ها
    ممنون از راهنمایی این قسمت
    منتها تو حلقه int main دو حلقه for برا چیه ؟ و تکرار rfsend برای چیه ؟
    اون فقط یه تاخیره
    اگر به دستور for نگاه کی میبینی که برای اولی باید دومی اجرا بشه و برای دومی هیچی جز افزایش j این تاخیر شاید به این علته که ماژول گیرنده initial بشه بعد برایش داده بره


    تاخیره دوم هم واسه اینهکه led چشمک بزنه

    تکرار rfsend هم برای اینه که 16 بایت رو پشت سر هم بفرسته.در مورد فستادن هم اگر خواستی تو ضیح بدم
    ویرایش توسط ghaem313 : 16-04-2011 در ساعت 13:23

  10. #7
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    بازم تشکر از آقای قائم عزیز بالاخره یکی هست به دادمون برسه
    دیتا شیتشا خوندم ولی اگه توضیح بدین ممنون می شوم
    یه سوال دیگه با avr16a میشه rfm12b را راه اندازی کرد ؟
    یه جایی خوندم مثل اینکه نمیشه
    سوال دیگه برنامه راحتتر از این با c نمیتونید معرفی کنید ؟

  11. #8
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    نقل قول نوشته اصلی توسط asadi843 نمایش پست ها
    بازم تشکر از آقای قائم عزیز بالاخره یکی هست به دادمون برسه
    دیتا شیتشا خوندم ولی اگه توضیح بدین ممنون می شوم
    یه سوال دیگه با avr16a میشه rfm12b را راه اندازی کرد ؟
    یه جایی خوندم مثل اینکه نمیشه
    سوال دیگه برنامه راحتتر از این با c نمیتونید معرفی کنید ؟
    اول بگو اين avr16a چيه؟

  12. #9
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    تغذیه 2.8 تا 5 ولت داره و مثل اینکه کریستال پایین تری نسبت به 16 داره(8) ولی نمیدونم خروجی بافرش چند ولته ؟

  13. #10
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    من همين الان يه سرچي زدم جر سايت خودمون و همين تاپيك چيزي در مورد avr16a پيدا نكردم فكركنم منظور شما سري L باشه.بله سري L مثل mega8L كه آخر اسم آي سي هست رو ميشه بهش وصل كرد وتغذيه 3.3 به آي سي و ماژول داد
    محدوده فركانسي L بين 0تا8 مگاهرتز
    محدود ولتاژ 2.7 تا 5.5

  14. #11
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    16a سری جدیده که با هر دو منبع کار میکنه مثل همون 16l هستش
    به نظر سما برنامه را می شه ساده تر از اینش کرد ؟
    می شه از پایه های دیگه این ماژول استفاده کرد ؟ نقل قول از کسی که میگفت برنامه راحتتر از این را میشه باهاش بنویسی ؟
    اگه مایل باشید تا برنامه گیرنده را هم بررسی کنیم شاید بدرد بقیه هم بخوره ؟
    با تشکر

  15. #12
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    بله حق با شماست من تو كتاب ها اين سري رونديده بودم (به دليل چاپ قديم بودن وكپي از روي هم) و تو سايت اتمل هم با وجود اين كه زياد مدل ها رو ديدم ولي دقت نكرده بودم . اين سري هم محدوده ولتاژش از 2.7 تا5.5 هست هم فركانسش تا 16 مگ

    اما ماژول
    اكثر ديتا شيت خود ماژول را مي گيرن كه بخش هايي از ديتا شيت آي سي داخل ماژوله اما كامل ترين مرجع براي كار با ماژول استفاده از ديتا شيت خود آي سي rf12 هست كه از لينك زير مي توني دانلودش كني

    http://www.hoperf.com/upfile/RF12B.pdf

    من تازه ويندوز عوض كردم و آكروبات ريدرم 6 ه و فايل بالا رو باز نمي كنه انشا الله يدونه نسخه جديد تر كه نصب كردم برات چند تا قسمت عكس ميذارم كه نحوه ارتباط گرفتن و فرستادن ديتا رو نشون ميده

    البته با اين روش هنوز بايد كامند ها رو با spi بفرستي ولي ديتا رو ميشه از با پايه هاي ديگه بگيري و يا بفرستي كه به سخت تر شدن (البته به نظر بعضيا) منجر ميشه و راحت ترين روش همينه كه پايه هاي كمتري رااشغال ميكنه و چون دمو ماژول هم بر همين مبناست اكثرا با همبن روش برنامه رو نوشتن

  16. #13
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    من وارد نیستم ولی خوب اگه پایه های دیگه کاربرد زیاد ی نداشتن که سازنده ساده ترش می کرد؟
    حالا نمیدونم کجا خوندم ولی نوشته بود که چرا از حلقه بینهایت استفاده میشه ومنتظر بمونه تا دیتا برسه و چند مورد دیگه که از پایه های دیگه استفاده بشه (بیخیال خیلی مهم نیست)
    راستی یه سوال دیگه با میکرو آرم sam7x256 میشه ماژول را راه اندازی کرد ؟(ندیدم جایی راه اندازی کرده باشه )
    اگه مایل باشی تا برنامه گیرنده را بذارم ؟
    وبعد ان شا... rfm12bp را بررسی کنیم ؟
    بازم تشکر از تخصیص وقتتون

  17. #14
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    با آرم sam7x256 هم ميشه .به علاوه اين آي سي spi با 8 و16 بيت داره


    من وارد نیستم ولی خوب اگه پایه های دیگه کاربرد زیاد ی نداشتن که سازنده ساده ترش می کرد؟

    من هم نگفتم پايه هاش كاربردي نداري.گفتم ساده ترين راه براي راه اندازي همينه كه تو دمو نوشته
    من هم همون نوشته را كه شما خونديد خوندم
    http://ir-micro.com/modules.php?name...ewtopic&t=1176
    سلام دوستان
    موضوع RFM12B موضوع جدیدی نیست. ولی توجه کردین که چه کد های گنگ و بی مصرفی برای این ماژول توی اینترنت هست؟ مثل کد ضعیفی که مثلا حتی توی خود دیتا شیت این ماژول هست یا کد وطنی سایت http://soomael.blogfa.com/ که نمونه برداری دقیق از کد دیتا شیت هست.

    اما مشکل این برنامه ها چیه؟ مشکل فرق بین روش Polling و روش Interrupt برای انتظار کشیدن رسیدن داده ها هستش. به این معنی که شما برای دریافت داده ، روتین دریافت داده رو مرتبا توی یک حلقه بی نهایت قرار میدین تا یک وقتی اگر فرستنده میل داشت چیزی ارسال کند، روتین داده بتواندآن را دریافت کند.
    همچنین مشکل دوم که توی کد ضعیف موجود در این دیتا شیت هست، ماکروی WAIT_IRQ_LOW هست که باز هم یک حلقه هست که وقت CPUرو بی مورد اشغال میکنه و اگر فرستنده چیری نفرسته میکرو توی این حلقه گیر میکنه و پروژه میخوابد.

    راه حلی که بنده پیشنهاد میکنم استفاده از اینتراپت هستش. پایه 5 ماژول که FFIT نام داره بعد از دریافت صحیح یک کاراکتر پایین میره و همونجا میمونه تا وقتی که بایت رسیده رو از FIFO بخونین.
    حالا می تونید این پایه رو به پایه ی وقفه خارجی میکرو (مثلاINT0 برای AVR) وصل کنید تا با دریافت داده میکرو اینتراپت داده و بلافاصله بایت را بخوانید تا برای بایت بعد آماده شوید.

    خوب اگر pdf ي كه گذاشتم دانلود كرده باشي تو صفحه 7 ش اينا رو ميبيني

    پين 6 و7 آي سي كه همون پين هايFSK/DATA/nFFS وDCLK/CFIL/FFIT ماژول هستند در ژيكره بندي هاي مختلف نقش متفاوتي دارند
    همون طور كه در جدول معلومه
    در مد فرستنده
    با el=0 پايه 6 ميشه ديتا رو فرستاد به ماژول
    با el=1 پايه 6 دسترسي به رجيستر TX رو فراهم ميكنه

    در مد گيرنده
    پايه 6 پايه7
    ef=0 خروجي ديتا كلاك براي RX
    ef=1 دسترسي به رجيستر RX وقفه براي گرفتن اطلاعات ffit


    تو صغحه هاي 23 24 25 همين ديتا شيت در مورد كار كردن با همين روش توضيح داده شده و اگر به نودار هاي زماني اين بخش نگاه كنيد متوجه ميشيد كه پروتكل spi سر جاش هست ولي براي گرفتن اطلاعات و يا ارسال اطلاعات روش ديگر ي جايگزين شده

  18. #15
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    برنامه که برا avr نوشته شده را میشه تو arm هم پیاده سازی کرد ؟
    یا باید کار خاصی کرد؟

  19. #16
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    برنامه چون با c نوشته شده قابل پياده سازي تو ي هر ميكرويي كه كامپايلر c داشته باشه هست
    اما بايد تغييرا لازم رو بدي

    مثلا اگر برنامه اي رو براي مگا32 با پورتa نوشتي بايد پورتش رو تو مگا هشت عوض كني چون پورت a نداره


    اما برنامه بايد ساد تر بشه چون spi شانزده بيتي داريم و به توابعي همچون write0 ,write1,writecmd نداري و بايد چند تابع جديد تعريف كني

    در مورد ارتباط با ماژول به روش ديگه علاقه به ادامه بحث نداري؟ديگر دوستان كه در اين رابطه اطلاعات بيش تر دارن و اين امكان ماژول را راه اندختن هم تشريف بيارن .تاپيك شكل چت پيدا كرده

  20. #17
    تازه وارد
    تاریخ عضویت
    Apr 2011
    نوشته ها
    2
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام و خسته نباشيد به برو بچه هاي فعال !
    RFM12 يا RFM12b يا RFM12bp كدومشون بدون آنتن كار ميكنه ؟

    من يه ماژول كوچيك بدون آنتن مي خوام كه براي ارتباط دو طرفه با ميكرو بردش حداقل 100 متر

    خيلي ممنون مي شم اگه راهنمايي كنيد.

  21. #18
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2010
    نوشته ها
    21
    تشکر
    3
    تشکر شده 0 بار در 0 پست

    پیش فرض

    اطلاعات جزئی در مورد بقیه پایه ها دارم
    ولی خوب اگه بشه بدمون نمی یاد یاد بگیریم
    تا حالا خودتون یا کسی را ندیدین که با آرم راه اندازیش کرده باشه ؟

  22. #19
    کاربر فعال ghaem313 آواتار ها
    تاریخ عضویت
    Oct 2009
    نام
    محمد قديمي
    نوشته ها
    233
    تشکر
    34
    تشکر شده 194 بار در 105 پست

    پیش فرض

    سلام و خسته نباشيد به برو بچه هاي فعال !
    RFM12 يا RFM12b يا RFM12bp كدومشون بدون آنتن كار ميكنه ؟

    من يه ماژول كوچيك بدون آنتن مي خوام كه براي ارتباط دو طرفه با ميكرو بردش حداقل 100 متر

    خيلي ممنون مي شم اگه راهنمايي كنيد.
    من تو يكي از بخش ها خوندم بدون آنتن ماژول ميسوزه

    من خودم هنوز با آرم كار رو شروع نكردم كه برسه به راه اندازي ماژول rfm12

  23. #20
    عضو جدید hrx آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    13
    تشکر
    8
    تشکر شده 5 بار در 2 پست

    پیش فرض

    rfm12b بدون آنتن بردی در حد چند سانتی متر داردو با یک سیم حدود 18 سانت هم کارش راه می افتد . rfm12bp بدون آنتن اگر به تغذیه متصل شود میسوزه و نیاز به آنتن با امپدانس 50 اهم داره (در ضمن شکل ظاهری آنتن هم اهمیت داره).وقتی آنتن 50 اهمی را می گذارید جریانی معادل با جریان عبوری از یک مقاومت 50 اهم از محل آنتن کشیده میشود و اگر آنتنی نگذارید این جریان خیلی بیشتر میشه و باعث سوختن طبقه تقویت کننده میشود.
    در ضمن یک مشکلی که با rfm12 برای من پیش آمده اینه که هر کار کردم که در محدوده فرکانسی 430.24 تا 439.7575 کانالهای فرکانسی مجزا تعیین کنم نمیشد و کانالها در هم اختلال ایجاد میکردنند حتی پهنای باند گیرنده را کاهش و فرکانس فرستنده ها را با گامهای یک مگاهرتز تنظیم کردم و به عبارتی 9 فرستنده دارم با فرکانسهای 430.24 و 431.24 و 432.24 و... ولی تداخل فرکانس وجود دارد . اگه کسی میدونه مشکل چیه یک کمکی برسونه.(خواهشا)
    ویرایش توسط hrx : 25-04-2011 در ساعت 18:03

صفحه 1 از 2 12 آخرینآخرین

موضوعات مشابه

  1. ماژول انتقال دیتای RFM12B
    توسط nex2004 در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 90
    آخرين نوشته: 12-01-2014, 19:07
  2. Rfm12b
    توسط mohsenehsanin در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 3
    آخرين نوشته: 30-10-2012, 14:34
  3. PCM با RFM12B
    توسط Hadi Nasiri در انجمن مخابرات
    پاسخ: 7
    آخرين نوشته: 03-01-2012, 13:04

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •