اطلاعیه

Collapse
No announcement yet.

استفاده از رجیسترهای ایندکس

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

    استفاده از رجیسترهای ایندکس

    سلام

    آیا کسی در مورد ارتباط دو میکرو باپروتکل i2c و تغییر پایه های spi در codevisionخبری داره؟ :question: :question: :question:
    اگر ندانی کجا میروی هر راهی تو را باخود خواهد برد.

    #2
    پاسخ : استفاده از رجیسترهای ایندکس

    سلام
    میشه دقیق تر بفرمایید منظور از رجیستر ایندکس چی هست؟؟
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست

    دیدگاه


      #3
      پاسخ : استفاده از رجیسترهای ایندکس

      راستش من میخوام روی بیت های یک متغیر کار کنم ولی توی code vision نتونستم این کار رو انجام بدم و این راه به نظرم رسید که می تونم متغیر رو توی رجیستر بریزم و بعد روی بیتاش کار کنم (بدون استفاده از & , or) البته توی رجیسترهای عمومی هم میشه ولی فکر کردم شاید کار با ایندکس راحت تر باشه! oo:
      اگر ندانی کجا میروی هر راهی تو را باخود خواهد برد.

      دیدگاه


        #4
        پاسخ : استفاده از رجیسترهای ایندکس

        سلام دوست عزیز
        لازم به این کار نیست
        ببین با این دستور بیت n ام متغییرت یک میشه:
        x=1<<n
        اما این کار انجام بده،یه متغییر تعریف کن،تعاریف زیر رو هم اول برنامه اضافه کن:
        #define X0 0
        #define X1 1
        #define X2 2
        #define X3 3
        #define X4 4
        #define X5 5
        #define X6 6
        #define X7 7
        #define X8 8

        حالا اینجوری مقدار بیتها رو تغییر بده:
        x=(1<<X1)|(1<<X1)|(0<<X2)|(0< <X3)|(0<<X4)|(0<<X5)|(0<<X6)| (0<<X7);
        این کار رو هم برای متغییر ها و هم برای رجیسترها میتونی انجام بدی
        در دیر مغان آمد یارم قدحی در دست
        مست از می می خواران از نرگس مستش مست

        دیدگاه


          #5
          پاسخ : استفاده از رجیسترهای ایندکس

          تشکر. دستور شیفت که بقیه بیتها رو جابجا نمی کنه؟
          برای خوندن بیتها چی کار کنم ؟ البته بدون استفاده از (& و or). :agree:
          اگر ندانی کجا میروی هر راهی تو را باخود خواهد برد.

          دیدگاه


            #6
            پاسخ : استفاده از رجیسترهای ایندکس

            سلام
            دوست عزیز برای اینکه گیج نشی و کارت هم راحت شه این ها رو اول برنامه اضافه کن:

            #define sbi(port,b) port|=(1<<(b))
            #define cbi(port,b) port&=~(1<<(b))


            #define BV(b) (1<<(b))

            اولی بیت b ام رو یک میکنه
            دومی بیت b ام صفر میکنه
            آهری هم مقدار بیت رو میده
            موفق باشی
            در دیر مغان آمد یارم قدحی در دست
            مست از می می خواران از نرگس مستش مست

            دیدگاه

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