اطلاعیه

Collapse
No announcement yet.

سوال در مورد arm

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

    سوال در مورد arm

    سلام
    میخاستم بدونم میشه سی و دومین خروجی از پورت a که در میکرو sam7x256 هیچ پایه ی فیزیکی برای اون در نظر گرفته نشده رو در اولین پایه پورت b کپی کنم و از اونجا دریافتش کنم.
    به عبارت دیگه فرض کنیم یه متغیر 32 بیتی رو در خروجی a ریختیم اما نمیشه بیت 32 رو دریافت کنم چون پایه فیزیکی برای اون وجود نداره.
    با چه دستوری میتونم در keil مقدار این بیتو به بیت اول پورت b بریزم

    #2
    پاسخ : سوال در مورد arm

    اقا کسی نسیت منو کمککککککککککک کنه؟

    دیدگاه


      #3
      پاسخ : سوال در مورد arm

      نوشته اصلی توسط soheyl_60
      سلام
      میخاستم بدونم میشه سی و دومین خروجی از پورت a که در میکرو sam7x256 هیچ پایه ی فیزیکی برای اون در نظر گرفته نشده رو در اولین پایه پورت b کپی کنم و از اونجا دریافتش کنم.
      به عبارت دیگه فرض کنیم یه متغیر 32 بیتی رو در خروجی a ریختیم اما نمیشه بیت 32 رو دریافت کنم چون پایه فیزیکی برای اون وجود نداره.
      با چه دستوری میتونم در keil مقدار این بیتو به بیت اول پورت b بریزم
      با سلام
      unsigned long int for_a_port_out;
      unsigned long int for_b_port_out;

      فرض کنیم داده برای پورت a در متغیر ذیل قرار دارد:
      for_a_port_out ، با روشی که در دیتا شیت موجود است ، در پورت a قرار می دهید.

      سپس:
      فرض کنیم داده برای پورت b در متغیر ذیل قرار دارد:
      for_b_port_out


      for_b_port_out = ( for_b_port_out & 0XFFFFFFFE ) | (( for_A_port_out >> 31 ) & 0X01 ) ;

      نتیجه را با روشی که در دیتا شیت موجود است ، در پورت a قرار می دهید.
      با سپاس
      گشتی در لاله زار
      http://www.eca.ir/forum2/index.php?topic=76138.0

      http://www.eca.ir/forum2/index.php?topic=76141

      دیدگاه


        #4
        پاسخ : سوال در مورد arm

        ممنون از پاسختون.
        اما میخاستم بدونم ایا دستوری هست حتی اسمبلی که بدون یه متغیر اضافه این کارو بکنه.

        دیدگاه


          #5
          پاسخ : سوال در مورد arm

          سلام
          کسی هست بدونه ایا میشه توی ریجستری ODSR میکروی ARMآ‌ نوشت؟چطور؟ یا این ریجیستر فقط خوندنیه؟
          اصلا میشه با این ریجستری پین خروجی رو کنترل(خاموش یا روشن کردن پایه های خروجیو) کرد.

          دیدگاه


            #6
            پاسخ : سوال در مورد arm

            نوشته اصلی توسط soheyl_60
            سلام
            کسی هست بدونه ایا میشه توی ریجستری ODSR میکروی ARMآ‌ نوشت؟چطور؟ یا این ریجیستر فقط خوندنیه؟
            اصلا میشه با این ریجستری پین خروجی رو کنترل(خاموش یا روشن کردن پایه های خروجیو) کرد.
            سلام
            آره می شود این کار را کرد. اون وقت این رجیستر مثل رجیستر پورت AVR کار می کند. (PORTA) فقط قبلش توسط رجیستر PIO_OWER باید اون پین هایی را که می خواهید توسط این رجیستر وضعیتش را تغییر دهید مشخص کنید.
            کد:
            AT91C_BASE_PIOA->PIO_OWER=(1<<0|1<<1|1<<2|1<<3);
            AT91C_BASE_PIOA->PIO_ODSR=0xA;
            الان توسط دو خط بالا چهار پین PA0 ,PA1 ,PA2,PA3 را در این وضعیت فعال کرده ایم. و توسط مقداری که در رجیستر PIO_ODSR ریختیم. یکی در میان آنها را 1 و 0 کردیم.
            موفق باشید

            دیدگاه


              #7
              پاسخ : سوال در مورد arm

              سلام
              وقتی توی محیط keil شبیه سازیو میزنم بجای اینکه فلش مربوط به اجرای در محیط برنامه اجرای برنانممو نشون بده یه در صفحه ای به اسم disassembly برنامم اجرا میشه لطفا کمک کنید.

              دیدگاه


                #8
                پاسخ : سوال در مورد arm

                کسی نیس جواب سوالمو بدونه؟

                دیدگاه

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