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





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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 20
  1. #1
    2016/10/07
    34
    2

    تابع (زیر برنامه ) عدد صفر بر میگرداند

    سلام
    میخواهم یه تابع ( زیر برنامه ) داشته باشم که وقتی صداش میزنیم طبق یه عملیات به ما یک عدد برگرداند
    در برنامه زیر عدد صفر بر میگردد دلیلش پی میباشد
    1#include <Keypad.h>
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(0,1,3,4,5,6);
    const byte ROWS = 3; // Four rows
    const byte COLS = 3; // Three columns
    // Define the Keymap
    char keys[ROWS][COLS] = {
    {2,9,6},
    {10,3,5},
    {1,7,4},

    };
    int f=0;
    byte rowPins[ROWS] = { 13, 11, 10 };
    byte colPins[COLS] = { 9, 8, 7 };
    Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    #define ledpin 12
    void farman(int a , int b);
    void setup()
    {
    pinMode(ledpin,OUTPUT);
    digitalWrite(ledpin, HIGH);
    lcd.begin(16,2);
    }
    void loop()
    {

    word key = kpd.waitForKey();
    if(key)
    {
    switch(key)
    {
    case 10 : int a,b ;farman (a,b);f=a*2;lcd.clear();lcd.print(f);break;
    case 1 : farman (a,b);f=a*3;lcd.clear();lcd.print(f);break;
    default:break;
    }

    }
    }
    void farman (int a, int b)
    {
    word k = kpd.waitForKey();
    if(k)
    {
    a=k;
    return a;
    }

    }

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

    عضویت

  2. #2
    2016/06/25
    227
    91

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط elmvafan

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

    عضویت

    سلام
    میخواهم یه تابع ( زیر برنامه ) داشته باشم که وقتی صداش میزنیم طبق یه عملیات به ما یک عدد برگرداند
    در برنامه زیر عدد صفر بر میگردد دلیلش پی میباشد
    1#include <Keypad.h>
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(0,1,3,4,5,6);
    const byte ROWS = 3; // Four rows
    const byte COLS = 3; // Three columns
    // Define the Keymap
    char keys[ROWS][COLS] = {
    {2,9,6},
    {10,3,5},
    {1,7,4},

    };
    int f=0;
    byte rowPins[ROWS] = { 13, 11, 10 };
    byte colPins[COLS] = { 9, 8, 7 };
    Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    #define ledpin 12
    void farman(int a , int b);
    void setup()
    {
    pinMode(ledpin,OUTPUT);
    digitalWrite(ledpin, HIGH);
    lcd.begin(16,2);
    }
    void loop()
    {

    word key = kpd.waitForKey();
    if(key)
    {
    switch(key)
    {
    case 10 : int a,b ;farman (a,b);f=a*2;lcd.clear();lcd.print(f);break;
    case 1 : farman (a,b);f=a*3;lcd.clear();lcd.print(f);break;
    default:break;
    }

    }
    }
    void farman (int a, int b)
    {
    word k = kpd.waitForKey();
    if(k)
    {
    a=k;
    return a;
    }

    }

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

    عضویت

    سلام چون خروجی تابع رو void تعریف کردی چیزی بر نمیگردونه هر دو جایی که تو کدت تابع farman رو تعریف کردی بجای void از int استفاده کن مشکل حل میشه

    فرستاده شده از SM-A305Fِ من با Tapatalk
  3. #3
    2016/10/07
    34
    2

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط Master81

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

    عضویت

    سلام چون خروجی تابع رو void تعریف کردی چیزی بر نمیگردونه هر دو جایی که تو کدت تابع farman رو تعریف کردی بجای void از int استفاده کن مشکل حل میشه

    فرستاده شده از SM-A305Fِ من با Tapatalk
    ممنون از راهنمایتون
    کد به صورت زیر تغیر دادم باز مشکل حل نشد
    #include <Keypad.h>
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(0,1,3,4,5,6);
    const byte ROWS = 3; // Four rows
    const byte COLS = 3; // Three columns
    // Define the Keymap
    char keys[ROWS][COLS] = {
    {2,9,6},
    {10,3,5},
    {1,7,4},

    };
    int f=0;
    byte rowPins[ROWS] = { 13, 11, 10 };
    byte colPins[COLS] = { 9, 8, 7 };
    Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    #define ledpin 12
    int farman(int a , int b);
    void setup()
    {
    pinMode(ledpin,OUTPUT);
    digitalWrite(ledpin, HIGH);
    lcd.begin(16,2);
    }
    void loop()
    {

    word key = kpd.waitForKey();
    if(key)
    {
    switch(key)
    {
    case 10 : int a,b,f ;farman (a,b);f=a*2;lcd.clear();lcd.print(f);break;
    case 1 : farman (a,b);f=a*3;lcd.clear();lcd.print(f);break;
    default:break;
    }

    }
    }
    int farman (int a, int b)
    {
    word k = kpd.waitForKey();
    if(k)
    {
    a=k;
    return a;
    }

    }
  4. #4
    2017/06/13
    718
    369

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط elmvafan

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

    عضویت

    ممنون از راهنمایتون
    کد به صورت زیر تغیر دادم باز مشکل حل نشد
    #include <Keypad.h>
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(0,1,3,4,5,6);
    const byte ROWS = 3; // Four rows
    const byte COLS = 3; // Three columns
    // Define the Keymap
    char keys[ROWS][COLS] = {
    {2,9,6},
    {10,3,5},
    {1,7,4},

    };
    int f=0;
    byte rowPins[ROWS] = { 13, 11, 10 };
    byte colPins[COLS] = { 9, 8, 7 };
    Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    #define ledpin 12
    int farman(int a , int b);
    void setup()
    {
    pinMode(ledpin,OUTPUT);
    digitalWrite(ledpin, HIGH);
    lcd.begin(16,2);
    }
    void loop()
    {

    word key = kpd.waitForKey();
    if(key)
    {
    switch(key)
    {
    case 10 : int a,b,f ;farman (a,b);f=a*2;lcd.clear();lcd.print(f);break;
    case 1 : farman (a,b);f=a*3;lcd.clear();lcd.print(f);break;
    default:break;
    }

    }
    }
    int farman (int a, int b)
    {
    word k = kpd.waitForKey();
    if(k)
    {
    a=k;
    return a;
    }

    }
    سلام
    ببخشید این کد دقیقا قراره چکار کنه؟ من هرچی فکر میکنم به نتیجه ای نمیرسم! خیلی جاهاش هم از نظر من مشکل داره.
  5. #5
    2016/10/07
    34
    2

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    سلام
    ببخشید این کد دقیقا قراره چکار کنه؟ من هرچی فکر میکنم به نتیجه ای نمیرسم! خیلی جاهاش هم از نظر من مشکل داره.
    سلام
    ابتدا از کی پد یک عدد بگیره بعد برود به زیر برنامه یک عدد دیگه بگیرد حالا این عدد که گرفته باتوجه به حالتی در switch case بوده یک عملیات ریاضی انجام دهد
    البته در کل این بخشی از برنامه اصلی ماهست که در فراخوانی به مشکل خوردم
  6. #6
    2017/06/13
    718
    369

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط elmvafan

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

    عضویت

    سلام
    ابتدا از کی پد یک عدد بگیره بعد برود به زیر برنامه یک عدد دیگه بگیرد حالا این عدد که گرفته باتوجه به حالتی در switch case بوده یک عملیات ریاضی انجام دهد
    البته در کل این بخشی از برنامه اصلی ماهست که در فراخوانی به مشکل خوردم
    آخه ببینید اصلا کد شما غلطه! توی خط 33 شما a و b رو تعریف کردید و حتی مقدار اولیه هم ندادید و بعد بلافاصله تابع farman رو با آرگومان های a و b فراخوانی کردید که مقدار مشخصی ندارن و مقدار بازگشتی تابع رو هم هیچ جایی ذخیره نکردید!
    توی خط 34 هم a و b حتی تعریفم نشدن ولی شما اون ها رو دادید به همون تابع و باز هم مقدار بازگشتی تابع رو ذخیره نکردید! با این تفاسیر برنامه نباید اصلا کامپایل بشه که بخواد عملکرد درستی داشته باشه.
    سوال بعدی اینه تابع kpd.waitForKey کارش دقیقا چیه؟ کارش اینه فقط منتظر باشه تا کلیدی فشرده بشه یا اینکه علاوه بر انتظار اعلام میکنه کدوم کلید فشار داده شده؟ اگر کارش صرفا انتظار باشه که نوع استفاده ای که ازش کردید کلا غلطه!
  7. #7
    2016/06/25
    227
    91

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    آخه ببینید اصلا کد شما غلطه! توی خط 33 شما a و b رو تعریف کردید و حتی مقدار اولیه هم ندادید و بعد بلافاصله تابع farman رو با آرگومان های a و b فراخوانی کردید که مقدار مشخصی ندارن و مقدار بازگشتی تابع رو هم هیچ جایی ذخیره نکردید!
    توی خط 34 هم a و b حتی تعریفم نشدن ولی شما اون ها رو دادید به همون تابع و باز هم مقدار بازگشتی تابع رو ذخیره نکردید! با این تفاسیر برنامه نباید اصلا کامپایل بشه که بخواد عملکرد درستی داشته باشه.
    سوال بعدی اینه تابع kpd.waitForKey کارش دقیقا چیه؟ کارش اینه فقط منتظر باشه تا کلیدی فشرده بشه یا اینکه علاوه بر انتظار اعلام میکنه کدوم کلید فشار داده شده؟ اگر کارش صرفا انتظار باشه که نوع استفاده ای که ازش کردید کلا غلطه!
    بله منم نگاه کردم کد کلا مشکل داره یه تابع با دو تا ورودی تعریف کرده ولی فقط از ی ورودی استفاده کرده بقیشم که شما گفتین

    فرستاده شده از SM-A305Fِ من با Tapatalk
  8. #8
    2016/10/07
    34
    2

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    آخه ببینید اصلا کد شما غلطه! توی خط 33 شما a و b رو تعریف کردید و حتی مقدار اولیه هم ندادید و بعد بلافاصله تابع farman رو با آرگومان های a و b فراخوانی کردید که مقدار مشخصی ندارن و مقدار بازگشتی تابع رو هم هیچ جایی ذخیره نکردید!
    توی خط 34 هم a و b حتی تعریفم نشدن ولی شما اون ها رو دادید به همون تابع و باز هم مقدار بازگشتی تابع رو ذخیره نکردید! با این تفاسیر برنامه نباید اصلا کامپایل بشه که بخواد عملکرد درستی داشته باشه.
    سوال بعدی اینه تابع kpd.waitForKey کارش دقیقا چیه؟ کارش اینه فقط منتظر باشه تا کلیدی فشرده بشه یا اینکه علاوه بر انتظار اعلام میکنه کدوم کلید فشار داده شده؟ اگر کارش صرفا انتظار باشه که نوع استفاده ای که ازش کردید کلا غلطه!
    امدم a , b را صفر دادم در خط 33
    یک c تعریف کردم صفر دادم مقدار اولیه
    اگر در خط 34 a,b را تعریف کنم موقع کامپایل کردن خطا میدهد
    تایع Waitforkey

    این تابع منتظر می*ماند تا کلیدی فشرده شود و مقداری دریافت نماید. این تابع باعث متوقف شدن کد‎های دیگر برنامه (به جز وقفه*ها) می*شود، یعنی اگر بعد از این تابع برنامه روشن و خاموش شدن یک LED را قرار دهید ، LED تا زمانی که دکمه*ای از کیپد فشرده نشود ،خاموش و روشن نمی*شود.
  9. #9
    2017/06/13
    718
    369

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط elmvafan

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

    عضویت

    امدم a , b را صفر دادم در خط 33
    یک c تعریف کردم صفر دادم مقدار اولیه
    اگر در خط 34 a,b را تعریف کنم موقع کامپایل کردن خطا میدهد
    تایع Waitforkey

    این تابع منتظر می*ماند تا کلیدی فشرده شود و مقداری دریافت نماید. این تابع باعث متوقف شدن کد‎های دیگر برنامه (به جز وقفه*ها) می*شود، یعنی اگر بعد از این تابع برنامه روشن و خاموش شدن یک LED را قرار دهید ، LED تا زمانی که دکمه*ای از کیپد فشرده نشود ،خاموش و روشن نمی*شود.
    سوال من این بود اعلام میکنه کدوم دکمه فشار داده شده یا فقط منتظر میمونه؟
  10. #10
    2016/10/07
    34
    2

    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    سوال من این بود اعلام میکنه کدوم دکمه فشار داده شده یا فقط منتظر میمونه؟
    بله اعلام میکند چه کلیدی فشار داده شده است
    در قسمت زیر برنامه وقتی مینویسم lcd.print(k) عدد فشار داده شده را نمایش میدهد
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 20

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

  1. اظافه کردن تابع به برنامه اصلی در keil
    توسط sepehr63 در انجمن پروسسورهای ARM
    پاسخ: 2
    آخرين نوشته: 2017/05/13, 13:45
  2. علت قفل شدن برنامه در تابع delay هنگام debugging
    توسط hfhossein در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2017/04/14, 18:17
  3. تابع و زیر برنامه در بیسکام .
    توسط imijoon در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2016/09/30, 20:00
  4. پاسخ: 1
    آخرين نوشته: 2015/10/25, 14:03
  5. نوشتن یک برنامه ساده با تابع ؟
    توسط KINDA در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2015/10/14, 15:23

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

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

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

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

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