ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2015/03/02
    45
    6

    مشکل با دستور if

    سلام وقتتون بخیر
    از عنوان تاپیک معلمه که سوال چیه .
    لطفا به این کد توجه کنید :
    بنده یک رشته رو از جایی میگیرم . و این رشته داخل سریال مانیتور نشان داده میشه . پس تا خط Serial.println(LED); به درستی مدار کار میکنه . ولی از اون به بعد کار نمیکنه . نمیدونم چرا
    کد PHP:
    if (mySerial.available()) {
        
    String  stmySerial.readString() ;
        
    String  LED st.substring(0) ; 
       
    Serial.println(st);
       
    Serial.println("/////////////"); 
       
    Serial.println(LED);
       
    Serial.println("/////////////");  
       
    delay(20);
          if (
    st=="AFHYN5K"){digitalWrite(11,HIGH);}
          if (
    st=="68KHTM9"){digitalWrite(11,LOW);}
         if (
    Serial.available()){mySerial.write(Serial.read());}


    بنده مقادیر رشته روهر چی تغییر میدم هیچ تغییری در وضعیت led حاصل نمیشه .
    حتی خواستم قسمتی از یک رشته رو با کد substring بردارم ولی بازم کار نمیکنه .
    اصلا وارد دستور شرطی if نمیشه . (منظور if دوم و سوم برنامه هست.)
    به نظرتون مشکل از کجاست ؟
    ویرایش توسط plastic : 2018/04/17 در ساعت 22:25
  2. #2
    2015/08/27
    1,741
    993

    پاسخ : مشکل با دستور if

    سلام
    تابع digitalWrite(11,HIGH) چیکار میکنه ؟؟
    نمونه کدش رو بزار
    هر مشکلی هست مربوط به دستورات قبل از if دوم هست نگاه کنید ببینید کجا مشکل داره
  3. #3
    2008/04/14
    148
    22

    پاسخ : مشکل با دستور if

    سلام
    فکر کنم رشته با عدد فرق میکنه و شما نمی تونید مستقیم اونا رو با هم مقایسه کنید و نیاز به دستوری شیه strstr ,strcmp و از اینا دارین.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  4. #4
    2018/02/22
    1,096
    689

    پاسخ : مشکل با دستور if

    درود . این دو استرینگ باهم فرق میکنند . دستور serial read به صورت بایت میخونه . راهکار اینه که بیاید به صورت یک آرایه ای از کاراکتر ها بخونید . به این صورت :
    کد:
     
        while (Serial.available()) {
        char c = Serial.read();
        readString += c;
        }
    و یا به روش دیگه عمل کنید که در این حالت اگر end line سریال مانیتور رو روی Both NL & CR قرار بدید کد زیر عملی خواهد بود .

    کد:
    void setup() {
      Serial.begin(9600);
      pinMode(13,OUTPUT);
    }
    
    
    
    
    void loop() {
      
       if (Serial.available()) {
       String  str= Serial.readString() ;
    
    
    
    
       if(str.substring(0) == "AFHYN5K\r\n"){ digitalWrite(13,HIGH);} 
       if(str.substring(0) == "68KHTM9\r\n"){ digitalWrite(13, LOW);}
       
       Serial.println(str);     
    }
    }
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. مشکل در دستور debounce
    توسط ali009 در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2017/10/13, 13:15
  2. مشکل با دستور wait
    توسط fjpi در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2013/08/24, 13:29
  3. مشکل با دستور IF
    توسط soodi در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2012/09/07, 18:01
  4. مشکل در دستور if
    توسط parham144 در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2012/05/18, 10:52
  5. مشکل در دستور ++c
    توسط 118 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2009/02/22, 18:01

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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