نمایش نتایج: از 1 به 6 از 6
Like Tree3 لایک
  • 1 Post By
  • 1 Post By magmagmary
  • 1 Post By فرجاد

موضوع: ئرخواست کمک برای حل مشکل تایمر و وقفه!

Hybrid View

  1. #1
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط فرجاد نمایش پست ها
    ممنون بابت پاسخ.
    در کاربرد تابع millis ، نوشته شده خواندن زمان.

    Returns the number of milliseconds since the Arduino board began running the current program


    در صورتی که من میخام زمان روشن بودن پین رله رو اعمال کنم.


    و البته همونطور که گفتم زمان فعال بودن پین ها ممکنه همپوشانی داشته باشه.

    F1 F1 F1
    ببینید همون کاری رو که دیلی انجام میدید دقیقا میشه با میلیس انجام داد با این تفاوت که دیگه پروسسور توی خط دیلی توقف نمیکنه

    میره کاراشو انجام میده وقتی زمانی که ما براش تعیین کردیم رسید شرط if رو اجرا می کنه :

    کد:
    
    
    
    const int ledPin =  13;      // the number of the LED pin
    
    
    int ledState = LOW;             // ledState used to set the LED
    
    
    
    
    unsigned long previousMillis = 0;        // will store last time LED was updated
    
    
    
    
    const long interval = 1000;           // interval at which to blink (milliseconds)
    
    
    void setup() {
    
    
      pinMode(ledPin, OUTPUT);
    }
    
    
    void loop() {
    
    
      unsigned long currentMillis = millis();
    
    
      if (currentMillis - previousMillis >= interval) {
    
    
        previousMillis = currentMillis;
    
    
    
    
        if (ledState == LOW) {
          ledState = HIGH;
        } else {
          ledState = LOW;
        }
    
    
    
    
        digitalWrite(ledPin, ledState);
      }
    }
    توی این کد داره میگه ه1 یک ثانیه یک بار ال ای دی شماره 13 روشن و خاموش بشه
    شما می تونید از این کد الهام بگیرید
    لایک کردن

  2. #2
    Junior Member
    تاریخ عضویت
    May 2016
    نوشته ها
    12
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    ببینید همون کاری رو که دیلی انجام میدید دقیقا میشه با میلیس انجام داد با این تفاوت که دیگه پروسسور توی خط دیلی توقف نمیکنه

    میره کاراشو انجام میده وقتی زمانی که ما براش تعیین کردیم رسید شرط if رو اجرا می کنه :

    کد:
    
    
    
    const int ledPin =  13;      // the number of the LED pin
    
    
    int ledState = LOW;             // ledState used to set the LED
    
    
    
    
    unsigned long previousMillis = 0;        // will store last time LED was updated
    
    
    
    
    const long interval = 1000;           // interval at which to blink (milliseconds)
    
    
    void setup() {
    
    
      pinMode(ledPin, OUTPUT);
    }
    
    
    void loop() {
    
    
      unsigned long currentMillis = millis();
    
    
      if (currentMillis - previousMillis >= interval) {
    
    
        previousMillis = currentMillis;
    
    
    
    
        if (ledState == LOW) {
          ledState = HIGH;
        } else {
          ledState = LOW;
        }
    
    
    
    
        digitalWrite(ledPin, ledState);
      }
    }
    توی این کد داره میگه ه1 یک ثانیه یک بار ال ای دی شماره 13 روشن و خاموش بشه
    شما می تونید از این کد الهام بگیرید
    اهان. حالا متوجه شدم. الگوریتم اصلی میشه بر مینای ذخیره زمان و مقایسه اون با تایمر . بسیار عالی. ممنون

    لایک کردن

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

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

SEO by vBSEO