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

موضوع: ماژول انتقال دیتای RFM12B

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    62
    تشکر
    41
    تشکر شده 9 بار در 7 پست

    پیش فرض ماژول انتقال دیتای RFM12B

    سلام دوستان
    من بعد از کلی گشتن توی وب هنوز نتونستم یک سورس برنامه و شماتیکی رو گیر بیارم که بتونم از ماژول RFM12B استفاده کنم اگه شما بلدید حداقل یک سورس برنامه به من بدید یکی برای فرستنده و یکی برای گیرنده به صورت ساده برای ارتباط دو AVR به زبان بسکام
    با تشکر فراوان :D

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

  3. #2
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    62
    تشکر
    41
    تشکر شده 9 بار در 7 پست

    پیش فرض

    هنوز خبری نشد :?or

  4. #3
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض RFM12B,RFM12,Source code,bascom avr

    سلام
    اینم مثال کامل

    منبع اصلی + دانلود سورس ها
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

  5. کاربران : 5 تشکر کرده اند از شما kavir برای ارسال این پست سودمند:


  6. #4
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    62
    تشکر
    41
    تشکر شده 9 بار در 7 پست

    پیش فرض Re: RFM12B,RFM12,Source code,bascom avr

    نقل قول نوشته اصلی توسط kavir
    سلام
    اینم مثال کامل

    منبع اصلی + دانلود سورس ها
    سلام ممنون
    من اینو قبلا دانلود کرده بودم
    یکم سنگینه . من می خام بین دوتا میکرو انتقال دیتا انجام بدم. کسی این کار رو کرده با همین ماژول

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


  8. #5
    عضو جدید
    تاریخ عضویت
    Nov 2009
    نوشته ها
    19
    تشکر
    3
    تشکر شده 46 بار در 11 پست

    پیش فرض

    salam be hame.man tabehaye jadidi baraye rfm12b neveshtam.barnemei ke kamelan khodam neveshtamesh ham be zabane codevision va ham bascam.dar zemn rfm12b lazem nist hatman ba payehaye spi kar kone man ba 8085 va ye ic i/o rash andakhtam harkas madarasho mikhad mitone behem email bezane.ettesale keybord be avr va entegale ettelaat be sorate bisim be kampiotero ham daram.movaffag bashin.navidi_ramin@yahoo.com.inam shomare tamasame 09149701884

  9. #6
    کاربر فعال lpln852 آواتار ها
    تاریخ عضویت
    Dec 2008
    نوشته ها
    344
    تشکر
    53
    تشکر شده 88 بار در 55 پست

    پیش فرض

    با سلام
    چي شد كي ميزاريد
    با تشكر

  10. #7
    عضو جدید
    تاریخ عضویت
    Dec 2007
    نوشته ها
    5
    تشکر
    1
    تشکر شده 24 بار در 2 پست

    پیش فرض

    نقل قول نوشته اصلی توسط 1nafar
    سلام
    این ماژول راه اندازی شده و به زودی سورس اونه به زبان های c و بیسیک برای avr و زبان c برای pic به صورت رایگان روی سایت قرار داده میشه .
    احتمالا تا چهارشنبه هفته اینده این سورس + اموزش کامل راه اندازی + چند تا پروژه کاربردی روی سایت قرار می گیره .
    فکر می کنم تقریبا 5 تا چهارشنبه گذشته ولی خبری نشد. اگه نمیخواین بزارین الکی سرکار نذارین. لطفا!

  11. #8
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام

    من یه فایل 30 صفحه ای برای این نوشتم که متاسفانه با یک اشتباه حذف شد .
    من در این پست نحوه راه اندازی رو میگم و انشالله برای مجله در قالب pdf درش میاریم .

    مراحل راه اندازی ماژول :
    مرحله اول :
    اولین قدم برای راه اندازی ماژول خرید اون هست . شما باید به ادرس زیر برید و ماژول رو بخرید ، از اونجا که ممکنه با توضیحات بیشتر نفرین شما دامن من رو بگیره پس زیاد این بخش رو توضیح نمیدم .
    مرحله دوم :
    پیدا کردن دیتا شیت ماژول هست ، در حالت عادی شما به گوگل میرید و گزینه ی rfm12b رو جستوجو میکنید ، شما خبر ندارید که برای این ماژول دوتا دیتا شیت وجود داره ، پس اولین گزینه رو دانلود میکنید و مدار توی اون رو میبندید . اگه مدار رو نبستید دست نگه دارید ، اگر هم مدار بستید که خدا ماژول شما رو بیامرزد ، pls going to thr 1 and try egn

    در حالت حرفه ای شما یه مقدار بیشتر جستو میکنید و دوتا فایل زیر رو پیدا میکنید ، منظورم همون فایل های پیوست هست در ادامه این دوتا فایل رو مو به مو توضیح دادیم .

    فایل RFM12B.zip رو دانلود کنید . در این فایل توضیحات مفصلی در مورد ماژول وجود داره :

    a : وِیژگی ها :
    قدرت بالا و قیمت کم
    دارای واحد pll و اشکار ساز عبور از سطح صفر
    pll دارای ویژگی قفل شدن سریع روی یک فرکانس هست ( یعنی زمان پایدار شدنش خیلی کم هست )
    pll دقت بالای دارای و دارای پله های 2.5 کیلو هرتزی هست
    نرخ انتقال داده بزرگ هست
    ارسال و دریافت داده توسط یک انتن انجام میشه .
    دارای بخش های مثل afc و dqd و fifo و... هست که در ادامه توضیح خواهیم داد این بخش به چه دردی میخوره .
    از طریق واسط spi با میکرو ارتباط برقرار میکنه
    دارای یک کریستال 10 مگاهرتز هست
    میتونه کلاک پردازنده رو تولید کنه
    داده ورودی اون باید به فرم 16 بیتی باشه
    داده خروجی اون به فرم 8 بیتی هست ( 2 *8 بیت )
    ولتاژ تغذیه ی اون 2.2 تا 3.8 ولت هست
    جریان مصرفی این ماژول خیلی کم و 13.5 میلی امپر در حالت کار و 300 نانو امپر در حالت اماده به کار مصرف دارده

    b : موارد مصرف :
    اسباب بازی ها
    ریموت کنترلر
    سیستم های بیسیم
    سیستم های مانیتورینگ

    c : بسته بندی :
    این ماژول در دو بسته بندی smd و dip عرضه میشه و دارای 12 تا پایه هست :




    شرح پایه ها :
    nINT/VDI : این پایه دو تا نقش داره 1- ورودی وقفه هست و میکرو میتونه با صفر کردن اون به ماژول بفهمونه که میخواد داده رو براش بفرسته 2- ماژول با این یک کردن این پین میتونه به میکرو بفهمونه که داده دریفاتی صحت داره . در ادامه در مورد تنظیم کردن این پایه بیشتر توضیح میدیم . ( استفاده از این پایه اختیاری هست )
    VDD : این پایه مربوط به تغذیه مثبت ماژول هست و باید به ولتاژ 2.2 تا 3.8 ولت متصل بشه .
    SDI : ورودی داده از باس SPI به ماژول هست ، این پایه باید به پایه MOSI میکرو متصل بشه
    SCK : این پایه مربوط به ورودی کلاک از باس SPI هست و باید به پایه SCK میکرو کتصل بشه .
    NSEL : این یکی هم که همون CHEP SELECT خودمونه و باید به پایه CS میکرو متصل بشه .
    SDO : خروجی داده از ماژول به باس SPI هست ، شما باید این پایه رو به پایه MISO میکرو کتصل کنید .
    NIRQ : هنگامی که ماژول داده ای رو دریافت میکنه ، این پایه صفر میشه . شما باید این پایه رو به یکی از ورودی های وقفه ی میکرو متصل کنید ف تا در هنگام در یافت شدن داده توسط ماژول میکزو با خبر بشه و.....
    FSK/DATA/NFFS : این پایه چند کاره هست که در ادامه به معرفی اون پرداخته ایم .
    DCLK/CFIL/FFIT : این پایه چند کاره هست که در ادامه به معرفی اون پرداخته ایم .
    CLK : این پایه خروجی کلاک برای پردازنده یا میکرو کنترلر هست ، شما میتونید این پایه رو به پایه XTAL2 میکرو متصل کنید و با تنظیم کردن فیوز بیت مربوط به کریستال بر روی EXTERNAL CLOCK در مصرف یک کریستال صرفه جویی نمایید .
    NRES : خروجی ریست برای میکرو کنترلر میباشد . با تنظیم کردن مازول میتونید در صورت نیاز میکرو کنترلر رو ریست کنید .
    GND : این پایه که دیگه تابلو هست و گراند مدار هست .


    نکته ها :
    مورادی که قرار شد بعدا توضیح بدیم پایه های DCLK/CFIL/FFIT و FSK/DATA/NFFS و NRES و CLK و nINT/VDI هستند ، برای اینکه مشخص بشه پایه در کدوم مد کار کنه ، باید در ریسجتر مخصوصش اطلاعاتی نوشته بشه که در ادامه توضیح خواهیم داد .

    همون طور که گفتیم حداقل ولتاژ تغذیه ماژول 2.2 ولت و داکثر اون 3.8 ولت هست ، در صورتی که ولتاژی بیشتر از این مقدار به مازول اعمال بشه سوختنش حتمی خواهد بود .

    تا موارد بالا رو بخونید من ادامه رو مینویسم
    فايل هاي پيوست شده فايل هاي پيوست شده

  12. کاربران : 24 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  13. #9
    تازه وارد
    تاریخ عضویت
    Jan 2010
    نوشته ها
    1
    تشکر
    2
    تشکر شده 0 بار در 0 پست

    پیش فرض

    ممنون از شما بابت آموزش.

    فکر کنم کاملترین اطلاعاتی بود که در مورد این ماژول تا الان تو نت ارائه شده.
    باید دیتاشیت این ماژول رو میدادن شما مینوشتین.

    اگه تو مجله در مورد rfm12bp و اون دو پایه ای که اضافه داره هم توضیح مختصری بدید هم بحث کاملتر میشه هم اینکه مشکل خیلی از دوستان رو حل میکنید.

    یا علی

  14. #10
    مدیر انجمن Division آواتار ها
    تاریخ عضویت
    Jan 2010
    نام
    افشین علیزاده
    نوشته ها
    628
    تشکر
    206
    تشکر شده 1,013 بار در 407 پست

    پیش فرض

    با سلام

    گر كسي از دوستان نياز داره تا با اين ماژول پروژه اي انجام بده ، جزئيات درخواستش رو بگه تا با كمال ميل براش آماده كنم (البته به زبان c)
    سادگی نهایت کمال است
    یه مدتی میشه که نیستم... ولی به زودی بر می گردم...

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


  16. #11
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    نقل قول نوشته اصلی توسط JUST-ARM نمایش پست ها
    با سلام

    گر كسي از دوستان نياز داره تا با اين ماژول پروژه اي انجام بده ، جزئيات درخواستش رو بگه تا با كمال ميل براش آماده كنم (البته به زبان c)
    من یکی خودم خیلی طرفدار این ماژول هستم اگر لطف کنید ادامه بدین مطالب رو و مفید باشه در مجله منتشر می کنیم
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

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


  18. #12
    تازه وارد
    تاریخ عضویت
    Jan 2009
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض سلام

    من یکم کمک نیاز دارم البته کمی بیش از یکم
    من باید از طریق بیسیم اطلاعات مربوط به 50 نقطه را جمع آوری کرده و در سرور ثبت کنم
    چند نکته مهمه
    1- منبع اطلاعات مهمه و باید معلوم باشه که این اطلاعات از کدوم قسمت سیستمه
    2- فاصله زیادی بین گیرنده و فرستنده ها هست حدو 2.5 کیلومتر
    3- اطلاعاتی که هر قسمت باید بفرسته حدود 40 بیت هستش
    4- امکان ارسال فرمان با حجم 40 بیت از سرور به هر یک از 50 نقطه امکان پذیر باشه
    حالا من چند تا کمک اساسی میخام
    1- چجوری میتونم این حجم داده رو کنترل کنم که منابع ارسال داده مشخص باشه
    2- چجوری این برد مفید 2.5 کیلوتر رو میتونم تضمین کنم
    راحت ترین را برقراری ارتباط میکرو با ماژول چیه؟
    از کمک شما خیلی ممنون

  19. #13
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2009
    نام
    مشهد
    نوشته ها
    35
    تشکر
    12
    تشکر شده 11 بار در 10 پست

    پیش فرض حالت بی کاری در rfm12

    با سلام

    در یه مدار ریموت که با باطری تغذیه میشه و باطری باید عمر زیادی داشته باشه مصرف ماژول rfm12 رو میخوایم حداقل کنیم (در حد میکرو آمپر) میشه ماژول رو به حالتی برد که در حالت sleep mode قرار بگیره و هر وقت دیتایی دریافت کرد از اون حالی خارج بشه و یه وقفه به میکرو ارسال کنه


    ممنون از پاسختون

  20. #14
    تازه وارد
    تاریخ عضویت
    May 2010
    نوشته ها
    4
    تشکر
    2
    تشکر شده 2 بار در 1 پست

    Exclamation

    سلام
    از همه دوستان که این اطلاعات را گذاشتن ممنون!
    منم برای اولین بار که می خوام با این ماژول کار کنم وقتی تو نت گشتم اطلاعات زیادی رو پیدا کردم و چند تا مدار مختلف ولی اینکه باید از کدوم استفاده کنم نمی دونم کارم هم خیلی اورژانسی
    می خواستم از دوستانی که کار کردن کمک بگیرم می خوام با ATMEG8 این کارو انجام بدم با codvision
    دیتایی رو که می خوام بفرستم شامل فشردن چند تا کلید متصل به همون میکرو هست برای برنامه نویسی میکرو کمک می خواستم از طرفی هم می خواستم بدونم که میشه به برنامه های موجود در نت اطمینان کرد کسی کار کرده جواب گرفته.
    منتظرم
    ممنون از کمکتون

  21. #15
    مدیر انجمن Division آواتار ها
    تاریخ عضویت
    Jan 2010
    نام
    افشین علیزاده
    نوشته ها
    628
    تشکر
    206
    تشکر شده 1,013 بار در 407 پست

    پیش فرض

    درباره برنامه هایی که تو نت موجودن باید سورس کد رو بفرستین تا برسی کنیم.

    شما جزئیات کامل پروژه خودت رو بگو من برات انجامش می دم کار زیادی نداره ... (البته اگه جزئیات زیادی نداشته باشه)
    سادگی نهایت کمال است
    یه مدتی میشه که نیستم... ولی به زودی بر می گردم...

  22. #16
    تازه وارد
    تاریخ عضویت
    May 2010
    نوشته ها
    4
    تشکر
    2
    تشکر شده 2 بار در 1 پست

    پیش فرض

    خیلی ممنون آقای genius از کمکتون ولی این کار رو باید حتمن خودم انجام بدم اگه میتونید کمک کنید که خودم این کار رو انجام بدم در غیر این صورت هم بازم ممنون از پیشنهاد کمکتون !

  23. #17
    تازه وارد
    تاریخ عضویت
    May 2010
    نوشته ها
    4
    تشکر
    2
    تشکر شده 2 بار در 1 پست

    پیش فرض

    سلام جناب 1nafar ادامه مطالبتون رو کی می گذارید

  24. #18
    مدیر انجمن Division آواتار ها
    تاریخ عضویت
    Jan 2010
    نام
    افشین علیزاده
    نوشته ها
    628
    تشکر
    206
    تشکر شده 1,013 بار در 407 پست

    پیش فرض

    نقل قول نوشته اصلی توسط shift نمایش پست ها
    خیلی ممنون آقای genius از کمکتون ولی این کار رو باید حتمن خودم انجام بدم اگه میتونید کمک کنید که خودم این کار رو انجام بدم در غیر این صورت هم بازم ممنون از پیشنهاد کمکتون !
    مشکلی نداره پس شما تا کجا کار کردی نتایج رو بزار تا قدم به قدم بریم جلو ولی خب این موضوع یه پروسه زمان بره ...
    این طوری بقیه دوستان هم در روند کار قرار می گیرن و این مبحث میتونه براشون مفید واقع شه .
    سادگی نهایت کمال است
    یه مدتی میشه که نیستم... ولی به زودی بر می گردم...

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


  26. #19
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2010
    نام
    محمد امین نوری
    نوشته ها
    25
    تشکر
    2
    تشکر شده 148 بار در 25 پست

    پیش فرض

    به نام خدا

    در این مقاله قصد دارم به راه اندازی ماژول های فرستنده و گیرنده ی

    بی سیم rfm بپردازم. کلیه مقالاتی که در اینترنت گذاشته شده یا به زبان

    انگلیسی است یا بسیار مبتدی و ناقص در وبلاگ ها و فروم های فارسی

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

    اختیارتون قرار بدم. اگر سوالی در این زمینه داشتید در خدمتم.

    محمد امین نوری 09171053660---09365483836

    AMINNORI@GMAIL.COM


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

    تحقیقاتی انجام داده باشید بی شک به RFM12 برخورد کرده یا برخورد خواهید

    کرد. در این مقاله هیچ صحبتی در مورد خصوصیات و ویژگی های این ماژول

    نخواهم کرد. این مقاله صرفا نحوهی راه اندازی این ماژول است.

    اگر در مورد این ماژل و راه اندازی آن تحقیقاتی انجام داده باشید حتما به این

    نتایج اشتباه رسیده اید یا این نتایج اشتباه دیگران را تکرار میکنید:

    1- راه اندازی این ماژول بسیار سخت است!
    2- کدهای دیتاشیت اشتباه است!!
    3- به راحتی نمیتوان با کد بسکام راه اندازی کرد!!!
    4- این ماژول به این راحتی ها پیکربندی نمیشود!!
    5- واز همه خنددارتر، معلوم نیست این چینی ها چی ساختن!!!!!!!!

    باید بگم که تمامی این صحت ها جز در سایت ها و کتاب های فارسی در

    هیچ جای دیگر گفته نمیشود.
    راه اندازی این ماژول بسیار بسیار ساده بوده و اگر به چند نکته زیر توجه

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

    راه اندازی کنید.

    1- ارتباط با این ماژول به صورت SPI 16 BIT است.
    2- میکروهای که معمولا باهاشون کار میکنیم SPI 8 BIT دارند.
    3- پیکربندی ماژول 16 بیتی است ولی 8 بیت دیتا میتونیم بفرستیم.
    4- میکرو MASTER وماژول SLAVE است.
    5- ولتاژ تغذیه 2.7 TO 3.7 است.
    6- ودر نهایت ترتیب برنامه نویسی دیتاشیت حتما رعایت شود.


    تنها دونستن 6 نکته بالا 50% کار رو تموم میکنه.

    نحوی راه اندازی:
    برای راه اندازی این ماژول نیاز به یک SPI 16بیتی می باشد . حال اگر

    با میکروکنترلری کار میکنید که SPI 16بیتی نداره میتونید برنامه SPI

    16بیتی بنویسید. که من اصلا اعتقادی به این کار ندارم . چون پروتکل

    SPI طوری طراحی شده که به راحتی میتوان حتی 32 بیت را ارسال

    کرد. این مشکل فهماندن چند بیتی بودن به راحتی با کنترل دستی پایه

    (SS) یا همان slave select قابل حل است. اگر به دیاگرام زمانی

    پروتکل SPI که در اول دیتا کد RFM12 هم آمده نگاه ی بیندازید

    متوجه میشوید که با صفر شدن این پایه ارسال دیتا به SLAVE

    شروع و با به یک رفتن این پایه به اتمام میرسد. در یک میکروی 8بیتی

    مثل AVR از شروع ارسال این پایه صفر شده وبعد از 8 کلاک SPI به

    یک میرود. امید وارم که با توضیحاتی که دادم متوجه منظورم شده باشید.

    پس به طور کلی برای ارسال یک داده 16 بیتی به یک SLAVE 16 بیتی توسط

    یک MASTER 8 بیتی باید داده 16 بیتی را به 2 قسمت 8بیتی تبدیل کرد و

    فرستاد. البته باید پایه SS میکرو را قبل از ارسال 8 بیت اول که هشت بیت

    پر ارزش است،صفر کرد و در پایان 8 بیت دوم که 8 بیت کم ارزش است باید

    این پایه را یک یا SET کرد. بدین صورت SLAVE داده در یافتی را طی 16

    پالس کلاک باس SPIدریافت میکند . توجه داشته باشید با هر زبانی که برنامه

    نویسی میکنید باید از دستوری استفاده کنید که همزمانی که داده را به SLAVE

    ارسال میکنید ، دیتاهای ارسالی از SLAVEرا هم بخونید. این کار بعدا برای

    خواندن اطلاعات از ماژول الزامی است. مثل دستور MOVESPI)) در بسکام.

    مراحل کار برای ارسال:

    ابتدا کدهای پیکربندی رو به ماژول به صورت 16 بیتی همان طور که توضیح
    دادم را به ماژول ارسال میکنیم. (حداکثر 14 کد)
    مثلا من با این کدها با فرکانس 915 کار میکنم:

    HEX80F7
    HEXC647
    HEX94A0
    HEXC2AC
    HEXCA81
    HEXCA83
    HEX9850
    HEXE000
    HEXHC800
    HEXC040

    بد از ارسال کد های پیکربندی با ارسال کد HEX8239 ماژول را به صورت

    فرستنده پیکربندی میکنیم.

    حال به ترتیب کدهای زیر را به ماژل ارسال میکنیم: (کد های سینکرون)

    HEXB8AA
    HEXB8AA
    HEXB8AA
    HEXB82D
    HEXB8D4
    با ارسال این کدها به ماژول حال ماژول آماده شده است برا ی ارسال دیتا.

    باید توجه کنید که دیتا باید 8 بیتی باشد و برای ارسال باید با کد HEXB800

    جمع شده و ارسال شود . مثلا برای ارسال عدد 45 (45 اولین دیتایی بود که

    خودم با این ماژول فرستادم) باید این کد رو به ماژول بفرستیم:

    HEXB800 + 45

    اگر همه مراحل بالا رو درست انجام بدین فرستنده راه افتاد..


    مراحل کار برای دریافت:

    برای در یافت اطلاعاتی که فرستنده ارسال میکند باید ماژول گیرنده هم دقیقا

    مثل ماژول فرستنده از نظر فرکانس کاری ، نرخ ارسال و تنضیمات دیگر

    پیکر بندی شود.

    ابتدا کدهای پیکربندی را به ماژول ارسال میکنیم.

    با ارسال کد HEX82D9 ماژول را به حالت گیرنده میبریم .

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

    میکنیم:
    HEXCA81
    HEXCA83

    در این زمان ماژول آماده در یافت اطلاعات میباشد. در این جا باید منتظر دیتا

    بمانیم. در این ماژول اگر دیتای معتبری در یافت شود پایه SDO از ماژول یک

    شده و بعد از 8دوره کلاک SPI، داده دریافتی خوانده میشود.

    پس برای منتظر ماندن رسیدن دیتا باید ابتدا پایه چیپ سلکت یا همون SS رو

    صفر کنیم و منتظر بمونیم تا پایه SDO یک شود. بعد از یک شد پایه SDO ،

    SS رو یک میکنیم . سپس کد HEXB000 رو به میکرو ارسال میکنیم .

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

    به میکرو ارسال میکنه. پس همون بایت پایینی رو که در دو قسمت کردن 16 بیت

    به کار میبردیم ، حالا همون دیتای در یافتی داخلش قرار میگیرد.

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

    این ساده برین روش راه اندازی RFM12 بود . راههای دیگه ای هم هست که

    با درخواست های اینتراپتی ماژول به میکرو میفهمونه که دیتای در یافت کرده

    که اون دیگه به عهده خودتون. یا علی

    کلام آخر:
    اگه این مطالب رو خوندین ،بدردتون خورد، دعام کنین...



    ساده ترین و قابل فهم ترین برنامه به زبان بیسیک:

    فرستنده:

    $regfile = "m16def.dat"
    $crystal = 8000000

    Dim Spi_tx_wrd As Word
    Dim Spi_tx_l As Byte At Spi_tx_wrd Overlay
    Dim Spi_tx_h As Byte At Spi_tx_wrd + 1 Overlay
    Dim Bata As Byte
    Dim Spi_rx_wrd As Word
    Dim Spi_rx_l As Byte At Spi_rx_wrd Overlay
    Dim Spi_rx_h As Byte At Spi_rx_wrd + 1 Overlay
    Config Portb.4 = Output
    Config Portb.5 = Output
    Config Portb.6 = Input
    Config Portb.7 = Output
    Config Portb.0 = Input
    Nirq Alias Pinb.0
    Rfm12_sdi Alias Portb.5
    Rfm12_cs Alias Portb.4
    Rfm12_sdo Alias Pinb.6
    Rfm12_sck Alias Portb.7
    Set Rfm12_cs
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
    Polarity = Low , Phase = 0 , Clockrate = 16 , Noss = 1
    Spiinit
    Set Porta.0
    Waitms 500
    Reset Porta.0
    Gosub Rfm12_int

    Bata = 1
    Do
    Gosub Tx_on
    Gosub Rfm_12_transmitt
    Waitms 500
    Incr Bata
    Loop









    Rfm12_spi_wrt:

    Reset Rfm12_cs
    Spi_rx_h = Spimove(spi_tx_h)
    Spi_rx_l = Spimove(spi_tx_l)
    Set Rfm12_cs
    Waitus 50
    Return

    Rfm12_int:

    Spi_tx_wrd = &H80E7 'tx on- for rx &h82d9
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &H8239
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC647
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &H94A0
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC2AC
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HCA81
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HCA83
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &H9850
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HE000
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC800
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC040
    Gosub Rfm12_spi_wrt
    Return


    Tx_on:

    Spi_tx_wrd = &H8239
    Gosub Rfm12_spi_wrt
    Waitus 50
    Return

    Rfm_12_transmitt:
    Spi_tx_wrd = &HB8AA
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB8AA
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB8AA
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB82D
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB8D4
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB800 + Bata
    Gosub Rfm12_ready 'data
    Gosub Rfm12_spi_wrt

    Return


    Rx_on:

    Spi_tx_wrd = &H82D9
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HCA81
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HCA83
    Gosub Rfm12_spi_wrt
    Return


    Rfm12_ready:
    Reset Rfm12_cs
    Bitwait Rfm12_sdo , Set
    Return

    End



    گیرنده:

    $regfile = "m16def.dat"
    $crystal = 8000000

    Dim Spi_tx_wrd As Word
    Dim Spi_tx_l As Byte At Spi_tx_wrd Overlay
    Dim Spi_tx_h As Byte At Spi_tx_wrd + 1 Overlay

    Dim Spi_rx_wrd As Word
    Dim Spi_rx_l As Byte At Spi_rx_wrd Overlay
    Dim Spi_rx_h As Byte At Spi_rx_wrd + 1 Overlay
    Dim Bata As Byte
    Config Portb.4 = Output
    Config Portb.5 = Output
    Config Portb.6 = Input
    Config Portb.7 = Output
    Config Portb.0 = Input
    Nirq Alias Pinb.0
    Rfm12_sdi Alias Portb.5
    Rfm12_cs Alias Portb.4
    Rfm12_sdo Alias Pinb.6
    Rfm12_sck Alias Portb.7
    Set Rfm12_cs
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
    Polarity = Low , Phase = 0 , Clockrate = 16 , Noss = 1
    Spiinit
    Waitms 400
    Gosub Rfm12_int

    Do
    Gosub Rx_on
    Gosub Rfm12_ready
    Spi_tx_wrd = &HB000
    Gosub Rfm12_spi_wrt
    Cls : Home
    Lcd Spi_rx_l
    Loop







    Rfm12_spi_wrt:

    Reset Rfm12_cs
    Spi_rx_h = Spimove(spi_tx_h)
    Spi_rx_l = Spimove(spi_tx_l)
    Set Rfm12_cs
    Waitus 50
    Return

    Rfm12_int:

    Spi_tx_wrd = &H80E7 'rx on- for tx &h8239
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &H82D9
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC647
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &H94A0
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC2AC
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HCA81
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HCA83
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &H9850
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HE000
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC800
    Gosub Rfm12_spi_wrt
    Spi_tx_wrd = &HC040
    Gosub Rfm12_spi_wrt
    Return


    Rx_on:

    Spi_tx_wrd = &H82D9
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HCA81
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HCA83
    Gosub Rfm12_spi_wrt
    Return


    Tx_on:
    Spi_tx_wrd = &H8239
    Gosub Rfm12_spi_wrt
    Waitus 50
    Return

    Rfm_12_transmitt:
    Spi_tx_wrd = &HB8AA
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB8AA
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB8AA
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB82D
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB8D4
    Gosub Rfm12_ready
    Gosub Rfm12_spi_wrt

    Spi_tx_wrd = &HB800 + Bata
    Gosub Rfm12_ready 'data
    Gosub Rfm12_spi_wrt
    Return


    Rfm12_ready:
    Reset Rfm12_cs
    Bitwait Rfm12_sdo , Set
    Return



    End
    ویرایش توسط aminnori : 02-04-2013 در ساعت 14:33

  27. کاربران : 21 تشکر کرده اند از شما aminnori برای ارسال این پست سودمند:


  28. #20
    مدیر باز نشسته ROBOMAN آواتار ها
    تاریخ عضویت
    Jul 2007
    نام
    ايران
    نوشته ها
    186
    تشکر
    243
    تشکر شده 206 بار در 74 پست

    پیش فرض راه اندازی ماژول rfm12b +سورس بیسیک

    راه اندازی ماژول rfm12b +سورس بیسیک
    کاری از محمد امین نوری
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip rfm12.zip (68.0 کیلو بایت, 1683 نمايش)

  29. کاربران : 15 تشکر کرده اند از شما ROBOMAN برای ارسال این پست سودمند:


صفحه 1 از 5 12345 آخرینآخرین

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

  1. زمین دیجیتال - زمین انالوگ
    توسط Ma3ood در انجمن الکترونیک
    پاسخ: 7
    آخرين نوشته: 03-09-2018, 13:55
  2. مشکل درrfm12b
    توسط asadi843 در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 21
    آخرين نوشته: 12-06-2013, 00:16
  3. Rfm12b
    توسط mohsenehsanin در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 3
    آخرين نوشته: 30-10-2012, 14:34
  4. PCM با RFM12B
    توسط Hadi Nasiri در انجمن مخابرات
    پاسخ: 7
    آخرين نوشته: 03-01-2012, 13:04

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

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