اطلاعیه

Collapse
No announcement yet.

درایور nRF24L01

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درایور nRF24L01

    سلام به تمام دوستان این درایور و به خاطر احتیاجی که داشتم به این ماژول امروز نوشتم و در این انجمن قرارش میدم تا بقیه دوستان هم استفاده کنن هر مشکلی هم که داشتن دوستان بگن تا براشون توضیح بدم. این برنامه تست شده است و با خیال راحت ازش استفاده کنید. برای شادی روح پدر من هم اگر دوست داشتید فاتحه بفرستید. امیدوارم به دردتون بخوره، بسیار روان کد نویسی شده و طبق دیتا شیت خودش تمام رجیستر ها بارگذاری شده. اگر مشکلی بود در خدمت هستم.
    یا علی موفق و موید باشید.
    فایل های پیوست شده
    فهبني صبرت علی عذابک فکیف اصبرعلی فراقک
    گیرم که برعذاب توصبر کنم ،چگونه بر جدایی ات شکیبایی ورزم

    #2
    پاسخ : درایور nRF24L01

    آقای عبدی سلام از اینکه این برنامه رو در اختیار همه قرار دادید ممنونم فقط من چند جای برنامه رو متوجه نشدم ومیخواستم ازتون بپرسم.

    1-i
    کد:
    int8 mirf_max_rt_reached(void);
    این تابع چه کاربردی داره چون مثل اینکه در جا های دیگه برنامه استفاده نشده.

    2-
    کد:
    mirf_read_reg_array
    این تابع چه کاربردی داره.

    3-
    کد:
    mirf_Reads_PAYLOAD
    کد:
    void mirf_send_data(int8 WIDTH);
    توی توابع ارسال ودریافت وضعیت پایه ی irq چک نشده است پس چه طوری متوجه شیم که ماژول اطلاعات رو ارسال یا دریافت کرده چون
    توی ماژول های rfm12 اینجوری چک میکردیم

    4-
    کد:
    #define RADDR      (byte *)"HADI0"//addres Recive
    #define TADDR      (byte *)"HADI0"//adrres transfer
    من این دو تا تعریف رو که آدرس فرستنده وگبرنده رو تعریف میکنه متوجه نشدم.

    باز هم از لطفتون ممنونم.
    در زندگيت به کسي اعتــــماد کن که به او ايمــــان داري نه احســاس . . .

    چه بسيار انسان ها ديدم تنشان لباس نبود؛و چه بسيار لباس ها ديدم که انساني درونش نبود ...!

    دیدگاه


      #3
      پاسخ : درایور nRF24L01

      سلام
      mirf_read_reg_array
      برای خوندن ارایه هستش
      مثل 32 بایت بافر گیرنده و فرستنده

      mirf_Reads_PAYLOAD
      این برای خوندن بافر اصلی هستش که دیتا روش قرار میگیره یا فرستاده میشه میتونه 1 تا 32 بایت باشه

      #define RADDR (byte *)"HADI0"//addres Recive
      #define TADDR (byte *)"HADI0"//adrres transfer

      شما باید ادرس برای فرستنده گیرنده اتون بذارید این این پنج بایت و به عنوان ادرس قرار داده RADDR و TADDR

      mirf_max_rt_reached این تابع برای چک کردن بیت MAX_RT هستش
      میتونید استفاده کنید میتونید با تاخیر زمانی استفاده نکنید


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



      فهبني صبرت علی عذابک فکیف اصبرعلی فراقک
      گیرم که برعذاب توصبر کنم ،چگونه بر جدایی ات شکیبایی ورزم

      دیدگاه


        #4
        پاسخ : درایور nRF24L01

        سلام
        ممنون که کتابخانتون رو در اختیار بقیه قرار دادین
        این تابع mirf_read_reg_array و mirf_Reads_PAYLOAD تفاوتشون چیه؟

        الان من دوتا از این ماژولها خریدم و میخوام ارتباتشون بدم باید فقط اونارو init کنم و مد tx و rx رو انتخواب کنم ؟ با کدوم تابع میتونم دیتاهام رو بفرستم و بگیرم؟
        این اسمی که برای ماژولهای فرستنده و گیرنده انتخواب میشه باعث میشه که این ماژول ها به چیز دیگه ای وصل نشه؟

        ممنون
        AYRIC

        دیدگاه


          #5
          پاسخ : درایور nRF24L01

          سلام
          بزای اینکه بیشتر از یک بایت ارسال کند در برنامه باید چه تغییراتی اعمال شود.
          ممنون

          دیدگاه


            #6
            پاسخ : درایور nRF24L01

            سلام دوست عزیز.
            بنده هم دوتا از این ماژول ها گرفتم و میخوام راش بندازم/
            compiler : ccs v4.130
            microcontroller : pic18f452

            یه سوال اینکه :
            بنده این نکته رو متوجه نمیشم ک تو ارتباط spi برای ارسال 2پارامتری ک داریم،یکیش مقداره و دومی ادرس رجیستر،
            حالا ادرس رجیستر رو با W_REGISTER اور(OR) میکنیم،چرا؟
            یکی هم اینکه این #define REGISTER_MASK 0x1F چیه و چرا مقدارش 1f شده است؟.ممنون
            رو به خودت نسبت هستی مده!**دل به چنین مستی و پستی مده! //زانچه نداری ز چه افسردهآ‌ای*و زغم و اندوه دل آزردهآ‌ای؟!//گر ببرد ور بدهد دست دوست*ور بِبَرد ور بنهد مُلک اوست//ور بِکِشی یا بکُشی دیو غم **کج نشود دست قضا را قلم//آنچه خدا خواست همان میآ‌شود**وآنچه دلت خواست نه آن میآ‌شود.
            ....

            دیدگاه

            لطفا صبر کنید...
            X