اطلاعیه

Collapse
No announcement yet.

چک کردن وضعیت یک بیت در کامپایلر keil

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

    چک کردن وضعیت یک بیت در کامپایلر keil

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

    #2
    پاسخ : چک کردن وضعیت یک بیت در کامپایلر keil

    این مثال رو ببین :

    int id2 ;
    id2 = (LPC_GPIO0->FIOPIN >> 6 ) & 0x01 ; //Read P0.6
    if (id2)
    {}

    دیدگاه


      #3
      پاسخ : چک کردن وضعیت یک بیت در کامپایلر keil

      خیلی ممنون.
      ولی چیزی نفهمیدم.

      دیدگاه


        #4
        پاسخ : چک کردن وضعیت یک بیت در کامپایلر keil

        ببین
        خط اول : متغیر id2 رو از نوع int تعریف میکنه
        خط دوم : محتویات پورت صفر رو 6 بار به سمت راست شیفت میده و با 0x00000001 اند میشه و انگار محتویات بیت اولش داخل id2 ریخته میشه
        خط سوم هم با یه شرط بررسی میکنه که اگه id2 یک باشه فلان کار رو بکنه وگرنه (else) فلان کار رو بکنه

        دیدگاه

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