اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

    نوشته اصلی توسط hamedf_hamedf
    ببینید هم مموری SD-MMC و هم ماژول NRF پایه EN دارن. با هرکدوم میخواین صحبت کنین اول اون را انتخاب کنید.
    مگه اینکه بخواین همزمان صحبت کنید که باید سراغ میکروهایی با چند پورت spi برین مثل xmega
    با سلام

    فکر میکنم شما در دادن جواب یک مقدار عجله کردید
    پین های mosi , miso , clk بین تمام لوازم جانبی که در اینجا Slave اطلاق میشود مشترک میباشد و ما تنها برای انتخاب دستگاه از پین دیگری که نسبت به Slave مورد نظر .......CS1 ,CS2 CS (انتخاب چیپ Chip Select ) از طریق میکرو کنترلر (Master ) انتخاب میشود اقدام به تبادل اطلاعات میگردد
    و عملا شما میتوانید بیش از یک Slave داشته باشید

    دیدگاه


      پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

      نوشته اصلی توسط Shapour-Ardebil
      با سلام

      فکر میکنم شما در دادن جواب یک مقدار عجله کردید
      پین های mosi , miso , clk بین تمام لوازم جانبی که در اینجا Slave اطلاق میشود مشترک میباشد و ما تنها برای انتخاب دستگاه از پین دیگری که نسبت به Slave مورد نظر .......CS1 ,CS2 CS (انتخاب چیپ Chip Select ) از طریق میکرو کنترلر (Master ) انتخاب میشود اقدام به تبادل اطلاعات میگردد
      و عملا شما میتوانید بیش از یک Slave داشته باشید
      منظور همون CSN CHIP SELECT بود

      دیدگاه


        درخواست راهنمایی برای برد smd ترنسیور nrf24l01

        با سلام کسی هست که این برد رو راه اندازی کرده باش ؟
        پینهای این ماژول با بقیه ماژولهای اصلی فرق داره کسی مشابه پینهای rest - pkt - ss رو میدونه ؟
        و سوال اخر اینکه ایا این ماژول با همون برنامه ای که بقیه ماژول ها رو راه اندازی می کنیم کار میکنه یا رجیستر ها و تنظیماتش فرق داره ؟؟؟



        سوال من در مورد این ماژول

        دیدگاه


          پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

          نوشته اصلی توسط mohamadeng
          سلام

          مموری SD-MMC رو چطور میشه همراه با NRF به SPI میکرو اتصال داد ؟
          یه راهش همون chip selecte ولی تو NRF فکر میکنم واسه تنظیم مد کاریش استفاده میشد،مطمئن نیستم
          در ضمن مموری کارت با SPI مجازی به خوبی کار میکنه نیاز نیست حتما سخت افزاری باشه مهندس
          انحصار طلبی علمی در دنیای امروز جایگاهی ندارد،بیایید تا دانسته های خود را هرچند اندک؛با دیگران به اشتراک بگذاریم...
          فرهنگ و تمدن بی همتای ایرانیان به سبب حمله ی وحشیانه مغولان نابود شد،امروز نوبت من و توست که با انتشار دانسته های خود ایران را به جایگاه بی همتای گذشته باز گردانیم.

          پیامبر اکرم(ص)فرمودند بهترین مردم کسانی هستند که خیرشان به دیگران برسد.

          دیدگاه


            پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

            نوشته اصلی توسط hamedf_hamedf
            ببینید هم مموری SD-MMC و هم ماژول NRF پایه CS یا همون CHIP SELECT دارن. با هرکدوم میخواین صحبت کنین اول اون را انتخاب کنید.
            مگه اینکه بخواین همزمان صحبت کنید که باید سراغ میکروهایی با چند پورت spi برین مثل xmega
            با سلام

            خوشحال شدم که جوابتان را دوباره ویرایش کردید و به جواب صحیح رسیدید

            موفق باشید

            دیدگاه


              پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

              مهندس ها با سلام
              آقا من تو منطق کد یکم شکل پیدا کردم
              چجوری وقتی کد زیر رو می نویسیم بیت اول enhance active mishe
              کد:
               //EN_AA Enhanced ShockBurst
              	Command_Reg = 0x01;
                Set_Reg(0x21);
              و وقتی این کد 0x22 رو می فرستیم به تابع بیت دوم و فعال می کنه یکم راجع به منطق قسمت set-reg توضیح بدین و این کدم
              کد:
              if(Status_Reg & W_REGISTER)
              بگید چکار میکنه وقتی توی جواب اند هیچ مقداری نیست

              دیدگاه


                پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                نوشته اصلی توسط masoud-n2
                مهندس ها با سلام
                آقا من تو منطق کد یکم شکل پیدا کردم
                چجوری وقتی کد زیر رو می نویسیم بیت اول enhance active mishe
                کد:
                 //EN_AA Enhanced ShockBurst
                	Command_Reg = 0x01;
                  Set_Reg(0x21);
                و وقتی این کد 0x22 رو می فرستیم به تابع بیت دوم و فعال می کنه یکم راجع به منطق قسمت set-reg توضیح بدین و این کدم
                کد:
                if(Status_Reg & W_REGISTER)
                بگید چکار میکنه وقتی توی جواب اند هیچ مقداری نیست
                اگه درست فهمیده باشم چیزی که میخواید:

                کد:
                case W_REGISTER: 
                    {             
                      if((ins & 0x1F)==0x0A || (ins & 0x1F)==0x0B || (ins & 0x1F)==0x10)
                      {
                        for(i=4;i>=0;i--)
                        {
                          spi(Base_Addrs[i]);
                        } 
                      }
                      else
                      { 
                        spi(Command_Reg);
                      }
                      break;
                    }
                کد وارد کیس W_Register میشه و بخش دوم یعنی else اجرا میشه

                دیدگاه


                  پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                  کد وارد بخش دوم می شه و وقتی شما فرستادی 0x21 در آخر شماره کامند بافر رو ارسال میکنه به spi و میفهمیم که باید بر روی رجیستر 0x01 بنویسیم چیزی که من نمیفهم حرکت بر روی 8 تا بیت رجیستر 0x01 است که با کامند
                  کد:
                  set_reg(0x22)
                  ظاهرا این اتفاق داره می افته ولی هر چقدر توی برنامه رو نگاه می کنم میبنم وقتی ما دستور 0x22 رو هم می فرستیم به تابع در اخر دستور 0x01 رو از طریق spi داره می فرسته و حرکت روی بیت دوم 0x01 انجام نمیشه

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

                  دیدگاه


                    پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                    نوشته اصلی توسط masoud-n2
                    کد وارد بخش دوم می شه و وقتی شما فرستادی 0x21 در آخر شماره کامند بافر رو ارسال میکنه به spi و میفهمیم که باید بر روی رجیستر 0x01 بنویسیم چیزی که من نمیفهم حرکت بر روی 8 تا بیت رجیستر 0x01 است که با کامند
                    کد:
                    set_reg(0x22)
                    ظاهرا این اتفاق داره می افته ولی هر چقدر توی برنامه رو نگاه می کنم میبنم وقتی ما دستور 0x22 رو هم می فرستیم به تابع در اخر دستور 0x01 رو از طریق spi داره می فرسته و حرکت روی بیت دوم 0x01 انجام نمیشه

                    قسمت دوم سوال قبل رو هم جواب بدین
                    شما میخواین بیت دوم Enhanced shockburst را فعال کنید؟
                    چون این کد
                    کد:
                    set_reg(0x22)
                    برای تنظیم Enabled RX Addresses هست.

                    دیدگاه


                      پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                      بله من میخوام منطق حرکت کردن روی بیت های رجیستر و یاد بگیرم به طور مثال بیت دوم رجیستر enhance shock و اینکه همین دستور که شما میگین رجیستر rx addreso فعال میکنه ،رو داخل تابع قرار میدم بعد از اند کردن ها در آخر به این خط می رسیم که command_reg رو ارسال کن منطق این که میگین رو tx addres داره می نویسه رو هم بگید

                      دیدگاه


                        پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                        نوشته اصلی توسط masoud-n2
                        بله من میخوام منطق حرکت کردن روی بیت های رجیستر و یاد بگیرم به طور مثال بیت دوم رجیستر enhance shock و اینکه همین دستور که شما میگین رجیستر rx addreso فعال میکنه ،رو داخل تابع قرار میدم بعد از اند کردن ها در آخر به این خط می رسیم که command_reg رو ارسال کن منطق این که میگین رو tx addres داره می نویسه رو هم بگید
                        ببینید دیتاشیت چیپ nRF24L01P را بگیرین. صفحه 57 بخش Register Map Table را پیدا کنید. دستور Set_reg اون رجیستر را انتخاب میکنه و command_reg مقدار که باید درون اون رجیستر قرار بگیره هست.
                        در مورد نحوه and و or کردن هم کمی دقت داشته باشین توی کد و میتونید منطق کار را متوجه بشین.

                        دیدگاه


                          پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

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

                          من میخوام یک شبکه با یک مستر و 11 تا اسلیو راهندازی کنم
                          ولی به محض روشن شدن اسلیو دووم در دیتا های دریافتی اشکالی پیش میاد
                          طبق نتیجه گیری چون ادرس ها یکسان بوده و گیرنده جواب دریافت رو میده ACK
                          این مشکل پیش میاد؛چطور میتونم این قابلیت رو کنسلش کنیم . ادرس دهی رو از با یت ارسالی انجام بدیم؟
                          در غیر اینصورت باید 11 بار با ادرس دهی متفاوت دیتاهای یکسانی رو ارسال کنم
                          که زمان گیره
                          هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
                          بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
                          میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

                          تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                          دیدگاه


                            پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                            سلام
                            آقا این فایل پی دی اف منظورتون کدومه؟
                            من هرچیو میزنم یه لینک دیگه باز میشه

                            دیدگاه


                              پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                              نوشته اصلی توسط kamranmmf
                              سلام
                              آقا این فایل پی دی اف منظورتون کدومه؟
                              من هرچیو میزنم یه لینک دیگه باز میشه
                              pdf چی را میخواین؟

                              دیدگاه


                                پاسخ : راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو)

                                نوشته اصلی توسط RubeuS
                                ... در دست تغییر...
                                برای دریافت داکیومنت قدیمی در تاپیک پست بزارید ، تا توسط خودم یا دوستان قرار داده شود،


                                سلام
                                اگه ممکنه داکیومنت قدیمی رو واسه من بفرستید.
                                kafi.farhad@gmail.com

                                دیدگاه

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