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

موضوع: 0 کردن یک بیت در زبان c

  1. #1
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض 0 کردن یک بیت در زبان c

    سلام.
    اگه من بخوام که فقط یک بیت در یک رجیستر رو 0 کنم به طوری که بقیه بیت ها در همون وضعیت قبلی خود باقی بمانند باید چه کدی بنویسم. مثلا بخوام فقط بیت 5 از رجیستر x رو 0 کنم و به بقیه بیت ها کاری نداشته باشم.
    حالا اگه بخوام فقط یک بیت در یک رجیستر 0 باشه و بقیه بیت ها همه 1 باشند باید چه کدی بنویسم.

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

  3. #2
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    register &= ~(1<<bitNo)

  4. #3
    مدیر انجمن sobhan537 آواتار ها
    تاریخ عضویت
    Aug 2012
    نام
    عبدالملکی
    نوشته ها
    1,084
    تشکر
    3,098
    تشکر شده 804 بار در 495 پست

    پیش فرض

    سلام
    مثلا اگه بخواید بیت های 0 و 4 و 10 و 15 و 24 از پورت x رو 1 کنید و بقیه بیتها دروضعیت قبلی خودشون باقی بمانند؛ میتونید از کد زیر استفاده کنید:
    کد:
    portx=(1 << 0)|(1 << 4)|(1 << 10)|(1 << 15)|(1 << 24)
    ویرایش توسط sobhan537 : 31-07-2014 در ساعت 10:18

  5. #4
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    دوستان دو روش گفتن ولی یکی برای avr بود و اون یکی برای arm بود. شما با کدوم میکرو کار میکنید؟

  6. #5
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    من با arm کار میکنم.

  7. #6
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    پس از پست 3 استفاده کنید و به جای portx از نام رجیستر صفر کردن پورت استفاده کنید

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


  9. #7
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sobhan537 نمایش پست ها
    سلام
    مثلا اگه بخواید بیت های 0 و 4 و 10 و 15 و 24 از پورت x رو 0 کنید و بقیه بیتها دروضعیت قبلی خودشون باقی بمانند؛ میتونید از کد زیر استفاده کنید:
    کد:
    portx=(1 << 0)|(1 << 4)|(1 << 10)|(1 << 15)|(1 << 24)
    سلام
    این دستور مگه ریجسترهای 0 و 4 و 10 و 15 و 24 از پورت x رو 1 نمیکنه؟؟

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


  11. #8
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط M3R نمایش پست ها
    سلام
    این دستور مگه ریجسترهای 0 و 4 و 10 و 15 و 24 از پورت x رو 1 نمیکنه؟؟
    سلام
    بله مهندس درسته، همین کار را انجام میده.
    _____________________________________
    _____________________________________

  12. #9
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    آخه شما گفتید 0 میکنه!

    آقا حامد هم میخواست 0 بشه. واسه همین پرسیدم

    Sent from my Lumia 620 using Tapatalk

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

  1. پاسخ: 14
    آخرين نوشته: 23-04-2014, 11:52
  2. تعبیه قابلیت آپدیت برنامه میکرو توسط کاربر عادی
    توسط sjafarim در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 9
    آخرين نوشته: 03-11-2013, 22:15
  3. تنظیم بایت ریت برای ارتباط سریال lpc2378
    توسط aleyasin در انجمن LPC series (NXP)
    پاسخ: 15
    آخرين نوشته: 09-08-2013, 15:13

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

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