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

موضوع: قرار دادن یک متغییر روی پورت

  1. #1
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض قرار دادن یک متغییر روی پورت

    سلام
    دوستان یک سوال مبتدیانه ولی برام سوال شده که چجوری مستقیم دیتا رو از یک متغییر روی پورت بذارم
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

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

  3. #2
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    یکم بیشتر توضیح میدید ؟
    روی پورت IO میخواید بگذارید؟
    یعنی مثلا عدد 57 (که داخل متغیره) رو میخواید روی پین های PA13 تا PA 20 نمایش بدید ( 0x00111001 )؟

  4. #3
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    سلام
    بله همچین چیزی تقریبا
    می خوام LCDG راه بندازم و برای پورت دیتا و پورت های کنترلری می خوام مثلا دیتایی که در یک رجیستر هست روی پورت دیتای LCDG بفرستم
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

  5. #4
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    کد:
    AT91F_PIO_CfgOutput ( AT91C_BASE_PIOA, 0x03FFFC00);
    AT91F_PIO_ClearOutput( AT91C_BASE_PIOA,0x03FFFC00);
    AT91F_PIO_SetOutput( AT91C_BASE_PIOA,adad<<9) ;
    توضیح:
    اول اون پایه هایی که مورد نظرمون هستن رو خروجی تعریف میکنیم ، 0x03FFFC00 برای پایه های PA10 تا PA25 استفاده شده . به جای این ، عدد متناظر را بگذارید. توجه کنید که PA از 0 شروع میشه (PA0-PA31)
    بعد اون پایه ها رو 0 میکنیم
    در آخر عدد(متغیر) شیفت داده شده رو روی پورت میگذاریم. مقدار شیفت هم بستگی به پایه اول دیتا(در این مثال PA10 ) داره.
    دو تا نکته رو هم بگم :
    رجیستر های set و clear به این صورت عمل میکنن که اگه بیت متناظر با اون پایه صفر باشه تغییری روش نمیدن (اصلا برای همین دوتا رجیستر گذاشتن دیگه!)
    دوم اینکه اگه پینهای io شما پشت سر هم نباشن باید متغیر رو تیکه پاره کنید !(با and ,or ) و هر تیکشو به مقدار لازم شیفت بدید.
    در آخر هم اینو بگم که این ساده ترین روش هست ، ولی برنامه رو میشه طور دیگه هم نوشت (که بهتر باشه) اما بازم کلیت روش همینه.

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

  1. پاسخ: 8
    آخرين نوشته: 23-04-2017, 22:03
  2. جای پورت سریال روی مادر بورد
    توسط Doloop در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 13
    آخرين نوشته: 29-11-2012, 19:46
  3. پاسخ: 19
    آخرين نوشته: 22-09-2012, 18:55
  4. یه سوال ساده درباره وقفه روی پورتهای 0 و 2
    توسط roberty در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 06-09-2011, 14:16
  5. پاسخ: 5
    آخرين نوشته: 19-09-2010, 10:58

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

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