اطلاعیه

Collapse
No announcement yet.

#define

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

    #define

    با سلام خدمت دوستان
    من در یک برنامه در ابتدای برنامه ده پایه از میکرو را به این صورت تعریف کردم
    #define h1 PORTD.0
    #define h2 PORTD.1
    #define h3 PORTD.2
    #define h4 PORTC.5
    #define h5 PORTC.4
    #define h6 PORTC.3
    #define h7 PORTC.2
    #define h8 PORTC.1
    #define h9 PORTC.0
    #define h10 PORTB.5
    حالا میخواهم که در برنام
    با استفاده از یه کانتری با توجه به مقدار کانتر هر بار یکی از این h ها را فراخوانی کنم و مقدار بدم به نظر شما چطوری اینکار را بکنم؟

    #2
    پاسخ : #define

    دستور #define فقط باعث میشه که کامپایلر یه اسم رو جایگزین یه رشته دیگه بکنه. تو مثالی که زدید h1 با PORTD.0 یکسانه یعنی هم میتونید از PORTD.0 استفاده کنید یا اینکه هر جا شما بنویسید h1 کامپایلر موقع کامایل کردن جاش مینویسه PORTD.0 و بعد کامپایل انجام میشه.
    برنامه شما مثلا یه همچین چیزی میتونه باشه
    if(counter<10)
    h1=1;
    else if(counter <20
    h2=0;
    ,
    ,
    ,

    دیدگاه

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