آموزش آردوینودستورات آردوینو

داده static در برنامه نویسی آردوینو (کلیدواژه static)

از کلمه کلیدی استاتیک (static) برای ایجاد متغیرهایی استفاده می شود که فقط برای یک تابع قابل مشاهده هستند. اما برخلاف متغیر های محلی (Local) که هر بار فراخوانی یک تابع ایجاد و از بین می روند ، متغیرهای static فراتر از فراخوانی عملکرد باقی می مانند و داده های خود را بین فراخوانی تابع ها حفظ می کنند.

متغیرهایی که بصورت استاتیک ایجاد می شوند فقط در اولین بار فراخوانی یک تابع ایجاد و مقداردهی اولیه می شوند.

کد نمونه داده static

#define randomWalkLowRange -20
#define randomWalkHighRange 20
int stepsize;

int thisTime;

void setup() {
  Serial.begin(9600);
}

void loop() {
  //  تست عملکرد randomWalk 
  stepsize = 5;
  thisTime = randomWalk(stepsize);
  Serial.println(thisTime);
  delay(10);
}

int randomWalk(int moveSize) {
  static int place; // ایجاد یک داده استاتیک 
  // مقادیر بین دو فراخوانی عملکرد ها هستند اما عملکرد های دیگه آن را تغییر نمیدهند
  place = place + (random(-moveSize, moveSize + 1));

  if (place < randomWalkLowRange) {              // بررسی مقدار حداکثر و حداقل
    place = randomWalkLowRange + (randomWalkLowRange - place);    // انعکاس مقدار در قسمت مثبت
  }
  else if (place > randomWalkHighRange) {
    place = randomWalkHighRange - (place - randomWalkHighRange);  // انعکاس مقدار در قسمت منفی
  }

  return place;
}
5/5 - (1 امتیاز)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.
تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.