NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 5068 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 3 از 3

موضوع: porta and port b در AT91SAM7X256

  1. #1
    عضو جدید
    تاریخ عضویت
    Jul 2007
    نوشته ها
    6
    تشکر
    2
    تشکر شده 1 بار در 1 پست

    پیش فرض porta and port b در AT91SAM7X256

    سلام
    با توجه به آنکه میکروکنترلر AT91SAM7X256 یک میکرو 32 بیتی است ونیز تعداد پین های پورت a , b هر کدام 31 پین میباشد. اگر بخواهیم یک دیتای 32 بیتی را به یکی از پورتهای A ویا B بفرستیم چگونه این کار امکان پذیر است
    با تشکر

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

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

    پیش فرض

    من توی انجمن اتمل مطرح کردم :
    http://www.at91.com/forum/viewtopic.php/f,15/t,18929/

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

    پیش فرض

    با سلام

    تو سيستم هاي كه ما احتياج داريم كه اطلاعات رو به صورت 32 بيتي و اونم به شكل پارالل رد و بدل كنيم معمولا ً با ارزش ترين بيت رو به عنوان Select وسيله جانبي متصل شده به ميكروكنترلر در نظر گرفته ميشه .

    به عبارت ديگه ديتا رو به صورت 31 بتي در نظر مي گيرن و بيت 32 رو براي انتخاب منظور مي كنن .
    ولي اگه در پروژه اي خاص پهناي باند اطلاعت ورودي يا خروجي 32 بيت تمام مد نظر قرار بگيرد، ميتوان از پايه اي ديگر به عنوان بيت با ارزش استفاده نمود .

    براي دريافت اطلاعت 32 بيتي از طريق پورتي كه فقط 31 بيتش تو خروجي قابل دسترسي است بايد از يه كلك نرم افزاري استفاده كرد .

    به اين صورت كه شما عدد 31 بيتي رو مثلاً از طريق پورت a دريافت كنيد و داخل يه متغيري ذخيرش كنين، بعد بيت با ارزش رو از طريق يه پايه جداگانه دريافت كرده و اونم داخل يه متغير بيتي ذخيره كنيد .
    عدد دوم كه از ورودي دريافت كردين رو با عدد 0b1111111111111111111111111111111 جمع كنيد و حاصل رو يه جايي ذخيره كنيد .
    در ادامه همين عدد جديد بدست آمده بعد از عمل جمع رو به شرط اينكه بيت باارزش وردي صفر باشه با عدد 31 بتي and كنيد و به شرط اينكه بيت باارزش وردي يك باشه با عدد 31 بتي or كنيد .


    0b1111111111111111111111111111111 = 0x7fffffff
    ویرایش توسط Division : 15-05-2010 در ساعت 02:48
    سادگی نهایت کمال است
    یه مدتی میشه که نیستم... ولی به زودی بر می گردم...

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


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

  1. مشکل در پروگرم کردن AT91SAM7x256
    توسط beroz در انجمن AT91 series (ATMEL)
    پاسخ: 5
    آخرين نوشته: 14-04-2015, 12:04
  2. مشکل با pll میکرو at91sam7x256
    توسط payameashena در انجمن AT91 series (ATMEL)
    پاسخ: 3
    آخرين نوشته: 13-03-2015, 02:58
  3. کار با (UART-ETH-WIFI module (serial port - Ethernet - Wireless network فروشگاه
    توسط sobhan537 در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 9
    آخرين نوشته: 19-01-2015, 16:16
  4. مشکل کار نکردن spi در at91sam7x256
    توسط beroz در انجمن AT91 series (ATMEL)
    پاسخ: 6
    آخرين نوشته: 18-01-2013, 17:49
  5. چگونه از پورت موازی (Parallel Port) استف
    توسط mostafahk در انجمن مباحث متفرقه در زمینه میکروو الکترونیک
    پاسخ: 0
    آخرين نوشته: 19-05-2008, 17:57

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

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