اطلاعیه

Collapse
No announcement yet.

کمک فوری در spi

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

    #16
    پاسخ : کمک فوری در spi

    یک مثال رو با پروتئوس براتون گذاشتم.
    هر دو میکرو عدد 0x25 رو بدون تاخیر برای هم می فرستند. هر میکرو هم مقدار دریافتی رو میریزه توی PORTA.
    برنامه درست داره کار می کنه. فرکانس میکرو هم 8 مگ هستش.
    http://s6.picofile.com/file/82030611...ample.rar.html
    ---------
    .
    .
    ...........

    دیدگاه


      #17
      پاسخ : کمک فوری در spi

      نوشته اصلی توسط ajapyy
      یک مثال رو با پروتئوس براتون گذاشتم.
      هر دو میکرو عدد 0x25 رو بدون تاخیر برای هم می فرستند. هر میکرو هم مقدار دریافتی رو میریزه توی PORTA.
      برنامه درست داره کار می کنه. فرکانس میکرو هم 8 مگ هستش.
      http://s6.picofile.com/file/82030611...ample.rar.html
      دستت درد نکنه مرررسی زحمت شد برات
      فقط سوال چرا ssزمین کردی؟؟چرا فقط تو یکیش زمین کردی تون یکی رو هواست؟؟
      اگه من بخام اعداد دیگرو بفرستم باید چیکار کنم؟؟
      اگه بخام مستر و اسلیو کنم باید چیکارش کنم؟؟(فقط یکی بفرسته یکی بگیره)
      من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

      دیدگاه


        #18
        پاسخ : کمک فوری در spi

        اقا نشد ک نشد اومدم ال سی دی وصل کنم ولی چیزی نمیاره... :angry: :angry: :sad:
        راستش میخام 3تا اسلیو داشته باشمم با ی مستر با ال سی دی بعد از مستر به هرکدوم ک میخام بفرستم..انگار قراره نشه :sad:
        من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

        دیدگاه


          #19
          پاسخ : پاسخ : کمک فوری در spi

          نوشته اصلی توسط milad brave
          دستت درد نکنه مرررسی زحمت شد برات
          فقط سوال چرا ssزمین کردی؟؟چرا فقط تو یکیش زمین کردی تون یکی رو هواست؟؟
          اگه من بخام اعداد دیگرو بفرستم باید چیکار کنم؟؟
          اگه بخام مستر و اسلیو کنم باید چیکارش کنم؟؟(فقط یکی بفرسته یکی بگیره)
          پایه ss یعنی کدوم اسلیو انتخاب میشود. اگر زمین باشه اون قطعه دیتا رو میگیره و می فر سته. برای همین فقط سمت اسلیو رو زمین کردم.
          برای فرستادن اعداد دیگر کافیه بنویسی : spi (x) یعنی x رو spi کن.
          شما تو هر دو سمت باید از دستور spi استفاده کنی. منتها وقتی تو یک سمت نخوای چیزی بگیری، بنویس مثلا spi(0xff) و یا spi(0x00). تابع spi() یک ورودی داره و یک خروجی. ورودی رو خودت بهش میدی، خروجی هم مقداری هستش که از میکرو دیگه گرفته. حالا تو سمت فرستنده از خروجیش استفاده نکن و تو سمت گیرنده از ورودی چشم پوشی کن.
          نوشته اصلی توسط milad brave
          اقا نشد ک نشد اومدم ال سی دی وصل کنم ولی چیزی نمیاره... :angry: :angry: :sad:
          راستش میخام 3تا اسلیو داشته باشمم با ی مستر با ال سی دی بعد از مستر به هرکدوم ک میخام بفرستم..انگار قراره نشه :sad:
          کدت رو بزار اینجا.
          ---------
          .
          .
          ...........

          دیدگاه


            #20
            پاسخ : کمک فوری در spi

            من مدتی هست که با avr کار نکردم اما در هر spi برای ارسال یک دیتا باید بعد اون دستور دریافت رو داشته باشی.
            راه اندازی enc28j60 و enc424j600 برای RL-TCPnet

            راه اندازیks0108 با emwin

            راه اندازی lcd7 اینچ با داریور داخلی stm32f429

            دیدگاه


              #21
              پاسخ : کمک فوری در spi

              نوشته اصلی توسط dellfogostar
              من مدتی هست که با avr کار نکردم اما در هر spi برای ارسال یک دیتا باید بعد اون دستور دریافت رو داشته باشی.
              برای کار کردن با قطعاتی مثل ADC و حافظه های flash اول باید چند بایت دیتا فرستاده بشه و بعد دیتا گرفته بشه.
              اما برای مواردی مثل همین تایپک که فقط نیازه یک بایت فرستاده و یا گرفته بشه تنها یکبار spi کافیه.
              ---------
              .
              .
              ...........

              دیدگاه


                #22
                پاسخ : کمک فوری در spi

                فک نکنم ربطی به نوع slave داشته باشه کلا تو پروتکل spi اینجوریه.
                راه اندازی enc28j60 و enc424j600 برای RL-TCPnet

                راه اندازیks0108 با emwin

                راه اندازی lcd7 اینچ با داریور داخلی stm32f429

                دیدگاه


                  #23
                  پاسخ : کمک فوری در spi

                  نوشته اصلی توسط dellfogostar
                  فک نکنم ربطی به نوع slave داشته باشه کلا تو پروتکل spi اینجوریه.
                  به نظرم جملتون این بوده :
                  در هر spi برای ارسال یک دیتا باید اون طرف دستور دریافت رو داشته باشی.
                  اگر این بوده درسته.
                  تو ارتباط spi هر دو طرف یک شیفت رجیستر دارند و با هر لبه بالا یا پایین رونده کلاک هر بیت که می گیرند یک بیت می دهند. ارتباط spi یک ارتباط full duplex هستش یعنی همزمان میشه دیتا فرستاد و دیتا گرفت.
                  ---------
                  .
                  .
                  ...........

                  دیدگاه


                    #24
                    پاسخ : کمک فوری در spi

                    نوشته اصلی توسط ajapyy
                    به نظرم جملتون این بوده :
                    در هر spi برای ارسال یک دیتا باید اون طرف دستور دریافت رو داشته باشی.
                    اگر این بوده درسته.
                    تو ارتباط spi هر دو طرف یک شیفت رجیستر دارند و با هر لبه بالا یا پایین رونده کلاک هر بیت که می گیرند یک بیت می دهند. ارتباط spi یک ارتباط full duplex هستش یعنی همزمان میشه دیتا فرستاد و دیتا گرفت.
                    در slave که باید دستور دریافت باشد .اما منطورم من در خود مستر هستش که بعد از ارسال در یافت هم داشته باشی.
                    راه اندازی enc28j60 و enc424j600 برای RL-TCPnet

                    راه اندازیks0108 با emwin

                    راه اندازی lcd7 اینچ با داریور داخلی stm32f429

                    دیدگاه


                      #25
                      پاسخ : پاسخ : کمک فوری در spi

                      نوشته اصلی توسط ajapyy
                      پایه ss یعنی کدوم اسلیو انتخاب میشود. اگر زمین باشه اون قطعه دیتا رو میگیره و می فر سته. برای همین فقط سمت اسلیو رو زمین کردم.
                      برای فرستادن اعداد دیگر کافیه بنویسی : spi (x) یعنی x رو spi کن.
                      شما تو هر دو سمت باید از دستور spi استفاده کنی. منتها وقتی تو یک سمت نخوای چیزی بگیری، بنویس مثلا spi(0xff) و یا spi(0x00). تابع spi() یک ورودی داره و یک خروجی. ورودی رو خودت بهش میدی، خروجی هم مقداری هستش که از میکرو دیگه گرفته. حالا تو سمت فرستنده از خروجیش استفاده نکن و تو سمت گیرنده از ورودی چشم پوشی کن.کدت رو بزار اینجا.
                      اینم از فایلم
                      واقعا دیگه کلافه شدم اخ چرا این نباید جواب بده..
                      http://s6.picofile.com/file/8203146942/spi.rar.html
                      من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

                      دیدگاه


                        #26
                        پاسخ : کمک فوری در spi

                        نوشته اصلی توسط milad brave
                        واقعا دیگه کلافه شدم اخ چرا این نباید جواب بده..
                        االکترونیک یعنی همین من بعضی مو قع ها هست بعد از دو سه هفته به جواب میرسم فقط با دلیل برو جلو و با دلیل یادبگیر.
                        راه اندازی enc28j60 و enc424j600 برای RL-TCPnet

                        راه اندازیks0108 با emwin

                        راه اندازی lcd7 اینچ با داریور داخلی stm32f429

                        دیدگاه


                          #27
                          پاسخ : کمک فوری در spi

                          نوشته اصلی توسط dellfogostar
                          در slave که باید دستور دریافت باشد .اما منطورم من در خود مستر هستش که بعد از ارسال در یافت هم داشته باشی.
                          بعد از ارسال، شیفت رجیستر سمت مستر هم با مقدار جدید دریافتی پر خواهد شد. اینکه ازش استفاده بشه یا نه اختیاری هستش.
                          نوشته اصلی توسط milad brave
                          اینم از فایلم
                          واقعا دیگه کلافه شدم اخ چرا این نباید جواب بده..
                          http://s6.picofile.com/file/8203146942/spi.rar.html
                          جون که شما درست کامنت های منو نمی خونی. این همه من میگم این ارتباط مبتنی بر کلاک هستش. همزمان هستش. بعد شما برداشتی تو کدت یکجا تو حلقه وایل نوشتی spi و بعد تو کد دیگه به جز این خط چند تا دستور دیگه هم نوشتی. خوب اینطوری دیگه دو تا spi تو دو تا کد همزمان نیستند. شما یک کاری کن. اول برنامه قبل از وایل یکبار spi رو اجرا کن. ببین برنامه درست کار می کنه ؟
                          ---------
                          .
                          .
                          ...........

                          دیدگاه


                            #28
                            پاسخ : کمک فوری در spi

                            نوشته اصلی توسط ajapyy
                            بعد از ارسال، شیفت رجیستر سمت مستر هم با مقدار جدید دریافتی پر خواهد شد. اینکه ازش استفاده بشه یا نه اختیاری هستش.جون که شما درست کامنت های منو نمی خونی. این همه من میگم این ارتباط مبتنی بر کلاک هستش. همزمان هستش. بعد شما برداشتی تو کدت یکجا تو حلقه وایل نوشتی spi و بعد تو کد دیگه به جز این خط چند تا دستور دیگه هم نوشتی. خوب اینطوری دیگه دو تا spi تو دو تا کد همزمان نیستند. شما یک کاری کن. اول برنامه قبل از وایل یکبار spi رو اجرا کن. ببین برنامه درست کار می کنه ؟
                            خب از کجا بدونم خروجی چیه؟؟اطلاعات درست فرستاده میشه یا نه؟؟با رو ال سی دی ببینم!!
                            خب پیشنهاد شما چیه واسه دیدن اطلاعات؟؟
                            من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

                            دیدگاه


                              #29
                              پاسخ : کمک فوری در spi

                              مثل اون کد من، روی پورت مقدار رو ببین.
                              ---------
                              .
                              .
                              ...........

                              دیدگاه


                                #30
                                پاسخ : کمک فوری در spi

                                نوشته اصلی توسط ajapyy
                                مثل اون کد من، روی پورت مقدار رو ببین.
                                خب الان اون کدی ک فرستادین اوکی هستش مقدار رد و بدل میشه.حال من این چجوری بسطش بدم رو ال سی دی؟
                                من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

                                دیدگاه

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