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





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









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





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

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2019/12/27
    28
    5

    مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

    سلام
    توی یه پروژه نیاز به تبادل عدد بین کامپیوتر و اردوینو دارم
    برای شروع یه کد خیلی ساده نوشتم ولی با یه مشکل عجیب روبرو شدم

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


    int s, i;

    void setup(){
    Serial.began(9600);
    pinMode(13,OUTPUT);
    }

    void loop(){
    if(Serial.available()>0){
    s = Serial.read()

    for(i = 0 ; s-48 > i ; i++ ){

    digitalWrite(13,HIGH);
    delay(800);

    digitalWrite(13,LOW);
    delay(800);
    }
    }
    }
    بابت بهم ریختگی کد معذرت میخوام با گوشی نوشتم هیچ جوره درست نشد

    الان مشکل از جاییه که وقتی عدد بزرگ تر از ۹ باشه بجای خوندن کل عدد میاد رقم به رقم میخونه
    مثلا وقتی ۲۳ رو وارد میکنم بجای اینکه ۲۳ تا چشمک بزنه میاد ۵ تا چشمک میزنه یعنی یه بار ۲ رو میخونه یه بارم ۳ رو
    کسی میدونه مشکل از کجاس؟
  2. #2
    2017/06/13
    725
    372

    پاسخ : مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

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

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

    عضویت

    سلام
    توی یه پروژه نیاز به تبادل عدد بین کامپیوتر و اردوینو دارم
    برای شروع یه کد خیلی ساده نوشتم ولی با یه مشکل عجیب روبرو شدم

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


    بابت بهم ریختگی کد معذرت میخوام با گوشی نوشتم هیچ جوره درست نشد

    الان مشکل از جاییه که وقتی عدد بزرگ تر از ۹ باشه بجای خوندن کل عدد میاد رقم به رقم میخونه
    مثلا وقتی ۲۳ رو وارد میکنم بجای اینکه ۲۳ تا چشمک بزنه میاد ۵ تا چشمک میزنه یعنی یه بار ۲ رو میخونه یه بارم ۳ رو
    کسی میدونه مشکل از کجاس؟
    سلام
    دلیلش خیلی سادس. وقتی شما توی ترمینال مثلا مینویسید 23، این 2 و 3 به شکل کد اسکی در میان و در قالب 2 بایت ارسال میشن. برنامه شما اول 2 رو میخونه و اجرا میکنه و بعد 3 رو میخونه و اجرا میکنه! شما باید تدبیری برای این مشکل پیش بینی کنید.
  3. #3
    2019/12/27
    28
    5

    پاسخ : مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

    نمیشه به صورت باینری فرستاد ؟

    ببینید من الان اعداد رو دونه دونه ضربدر ده میکنم و با عدد بعدی جمع میکنم ولی بازم مشکلاتی بوجور میاد مثلا باید تعداد ارقام هم مشخص باشه

    کسی راه حل دیگه ای برای مشکل سراغ نداره؟
  4. #4
    2017/06/13
    725
    372

    پاسخ : مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

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

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

    عضویت

    نمیشه به صورت باینری فرستاد ؟

    ببینید من الان اعداد رو دونه دونه ضربدر ده میکنم و با عدد بعدی جمع میکنم ولی بازم مشکلاتی بوجور میاد مثلا باید تعداد ارقام هم مشخص باشه

    کسی راه حل دیگه ای برای مشکل سراغ نداره؟
    خوب کافیه آخر عددتون یه کاراکتر معین قرار بدید تا برنامه متوجه بشه عدد تموم شده
  5. #5
    2019/12/27
    28
    5

    پاسخ : مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

    فکر میکنم اونموقع باید اعداد رو در قالب رشته فرستاد چون اگه متغیر ها به صورت intiger تعریف بشن امکان فرستادن کاراکتر وجود نخواهد داشت
    تبدیل رشته به عددم خودش یه کار مشکلیه چون فک میکنم باید با سوییچ کیس تمام کاراکترای اعداد رو به عدد تبدیل کرد
  6. #6
    2017/06/13
    725
    372

    پاسخ : مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

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

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

    عضویت

    فکر میکنم اونموقع باید اعداد رو در قالب رشته فرستاد چون اگه متغیر ها به صورت intiger تعریف بشن امکان فرستادن کاراکتر وجود نخواهد داشت
    تبدیل رشته به عددم خودش یه کار مشکلیه چون فک میکنم باید با سوییچ کیس تمام کاراکترای اعداد رو به عدد تبدیل کرد
    ببینید وقتی شما با ترمینال چیزی میفرستید به طور خودکار تبدیل به کد اسکی یا همون رشته میشه. بعضی ترمینال ها به صورت خودکار انتهای رشته رو اگر درست بگم با کدهای اسکی 0x0A و 0x0D پر میکنن که انتهای قالب داده مشخص بشه.
    سمت میکروکنترلر هم شما باید داده دریافتی رو توی یک رشته ذخیره و کاراکتر به کاراکتر بررسی و تبدیل به عدد کنید.
  7. #7
    2016/06/25
    227
    91

    پاسخ : مشکل دریافت عدد بزرگ تر از ۹ در سریال اردوینو

    سلام از این دستور استفاده کن
    X = Serial.parseInt();
    بجای X میتونی هر متغیری که دلت خواست قرار بدی

    فرستاده شده از SM-A305Fِ من با Tapatalk
نمایش نتایج: از 1 به 7 از 7

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

  1. دریافت کد هگز از پورت سریال در اردوینو
    توسط MOHSEN1362 در انجمن خانواده Arduino
    پاسخ: 0
    آخرين نوشته: 2019/05/25, 13:49
  2. چگونگی دریافت برنامه اردوینو uno
    توسط rahim17 در انجمن Android
    پاسخ: 5
    آخرين نوشته: 2017/06/01, 05:46
  3. مشکل دریافت رشته از پورت سریال
    توسط meysamjet در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2015/06/30, 19:32
  4. مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو
    توسط mehdi_24 در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2014/11/21, 12:35
  5. مشکل با دریافت دیتا از پورت سریال؟
    توسط majid.4206 در انجمن Labview
    پاسخ: 9
    آخرين نوشته: 2011/05/23, 16:52

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

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

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

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

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