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





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









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









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





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

صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 22
  1. #1
    2012/07/02
    تهران
    60
    3

    بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    براي اينکه توي يه حلقه while به محض اينکه شرايط حلقه برقرار نشد از حلقه خارج بشه ( قبل از اينکه به انتهاي حلقه برسه ) بايد از چه دستوري استفاده کرد ؟
    با دستور breack به طور کامل از حلقه خارج ميشه بدون اينکه توجه شرط حلقه داشته باشه . من نميخوام بعد هر خط يه شرط بزارم و بعدش بريک کنم . لطفا کمک کنيد .
    اين برنامه رو براي AVR ميخوام بنويسم ، وقتي رفت تو اينتراپت و يه دفعه متغيير عوض شد سريعا از حلقه خارج بشه .
    يا حق
  2. #2
    2011/08/22
    217
    1

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    باید وسط حلقه اونجایی که شرایط عوض میشه دستور های if بزاری و توی اونها break بنویسی
    :job:
    قنديل، تنديس قطره هايي است كه تسليم جاذبه زمين نشدند. "چگوآرا"
  3. #3
    2012/07/02
    تهران
    60
    3

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    نقل قول نوشته اصلی توسط mohsen_22
    بايد وسط حلقه اونجايي که شرايط عوض ميشه دستور هاي if بزاري و توي اونها break بنويسي
    :job:
    از جوابت ممنونم ولي من توي سوالم هم گفتم که نميخوام بعد هر خط بيام يه شرط بزارم براي بريک شدن . چون اين تغيير ممکنه تو هر خطي اتفاق بيفته .
    يا حق
  4. #4
    2012/02/24
    90
    0

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    اين کار و به چند رو ميتوني انجام بدي بستگي به خلاقيت شما داره يه کم روش فکر کنين پيدا مي کنين
    اگه تيکه کد ميزاشتين اون موقع مي تونستم کمک کنم
    در خدمتم
  5. #5
    2012/07/02
    تهران
    60
    3

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    نقل قول نوشته اصلی توسط exelance
    اين کار و به چند رو ميتوني انجام بدي بستگي به خلاقيت شما داره يه کم روش فکر کنين پيدا مي کنين
    اگه تيکه کد ميزاشتين اون موقع مي تونستم کمک کنم
    در خدمتم
    فکر کنين من يه اينتراپت براي يکي از پايه هاي ميکرو رو فعال کردم . بعد از يه طرف ديگه توي برنامم يه while گذاشتم به اينصورت :
    کد:
    while(true==1){
    line1;
    line2;
    line3;
    .
    .
    .
    }
    حالا فرض کن الان سي پي يو داره خط 3 رو لود ميکنه ، در همين هين اينتراپت فعال ميشه و متغيير رو (true) مقدارشو صفر ميکنه . حالا چه طور ميشه از خط سوم بپره بيرون ؟
    يا حق
  6. #6
    2012/10/09
    ریوش
    206
    10

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    به نظر من شما با آدرس های پروگرم کانتر بازی کن.
    سرویس روتین وقفه وقتی که وارد وقفه میشه آخرین آدرس برنامه ای که در سرویس عادی برنامه اجرا میشده تو خودش ذخیره می کنه. و پس از اینکه از روتین وقفه خارج میشه اون آدرس رو ریکاوری میکنه و به ادامه ی کار عادی خودش می پردازه.
    شما هم به صورت نرم افزاری هر وقت به قول خودت شرط مورد نظر برقرار نبود بپر به آدرسی که دوست داری وبرنامه رو ازاونجا شروع کن. حتی با این کار شما می تونی به صورت نرم افزاری میکرو رو ریست کنی و بپری به آدرس صفر .که این مورد رو من در یکی از پروژه های خودم انجام دادم و در روتین وقفه با چک کردن یک فلگ، اگر اون شرط برقرار نبود میکرو رو ریست می کردم.
    موفق باشی دوست من.
    براي جوينده ي علم محدوديتي نيست. "ولو بالسين"
  7. #7
    2013/03/09
    Tabriz
    203
    1

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    برای تغییر پروگرم کانتر مجبوری از اسمبلی استفاده کنی
    هنگامی که برنامه به روتینی (عادل یا وقفه) پرش میکنه مقدار پروگرم کانترو
    با دو دستور پوش (آخه آدرسی که در پروگرم کانتر قرار داره دو بایتیه)به استک میفرسته
    باید آدرس رو با آدرس لیبلی که با پرش به اون از حلقه خارج میشه عوض کنی
    گذشت خصلت مردان است
  8. #8
    2012/10/09
    ریوش
    206
    10

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    نیازی به استفاده از زبان اسمبلی نیست. با همون زبان سی می تونی کار رو انجام بدی.
    براي جوينده ي علم محدوديتي نيست. "ولو بالسين"
  9. #9
    2007/06/09
    اردبيل خيابان ملت طبقه فوقاني بازار وليعصر سبلان الکترونيک
    396
    32

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن شزايط حلقه

    با سلام

    ميشه تو همان تابع اينتراپت با دستور goto محل اجراي برنامه را به محل ديگر منتقل کرد ولي خطرناک است چرا که اگر داخل توابع تو در تو باشيد احتمال بهم ريختن مقادير استک پوينتر است
  10. #10
    2013/03/09
    Tabriz
    203
    1

    پاسخ : بيرون آمدن از حلقه به محض بر آورده نشدن

    نقل قول نوشته اصلی توسط Shapour-Ardebil
    با سلام

    ميشه تو همان تابع اينتراپت با دستور goto محل اجراي برنامه را به محل ديگر منتقل کرد ولي خطرناک است چرا که اگر داخل توابع تو در تو باشيد احتمال بهم ريختن مقادير استک پوينتر است
    منظورتون اینه که از روتین سرویس وقفه مستقیم به یک لیبلی پرش کنیم ؟

    این کار درستی نیس .
    اگر لیبل مورد نظر در تابع دیگری باشه و بخوایم بهش از تابع دیگری پرش کنیم
    کامپایلر موقع کامپایل ارور میده مگر اینکه لیبل رو با اسمبلی تعیین کنیم و با اسمبلی پرش کنین .
    اگر در C پرش انجام بشه در اینصورت باید بعد از پرش ، وقفه رو دوباره راه اندازی کرد
    چون هنگامی که در روتین وقفه هستیم وقفه سراسری غیر فعال میشه
    و برای اینکه استک درست کار کنه باید مقدار اشاره گر رو 2 بار اضافه کنیم
    و یا دوبار از دستور پاپ استفاده کنیم .

    بهتره تمامی روش ها رو تست بزنی .
    گذشت خصلت مردان است
صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 22

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

  1. حلقه قفل فاز یا PLL چیه ؟
    توسط KINDA در انجمن مدار هاي ديجيتال
    پاسخ: 35
    آخرين نوشته: 2018/05/16, 13:54
  2. وارد نشدن برنامه به حلقه while
    توسط saman1989t در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2015/12/04, 15:13
  3. پرش از یک حلقه به حلقه دیگه در keil
    توسط Ramin1768 در انجمن پروسسورهای ARM
    پاسخ: 7
    آخرين نوشته: 2015/04/17, 12:15
  4. شرط حلقه
    توسط amir111 در انجمن C , C++ , C#
    پاسخ: 3
    آخرين نوشته: 2013/07/19, 02:32
  5. بيرون کشيدن ديتا در هر بار اجراي حلقه
    توسط kenza1370 در انجمن Labview
    پاسخ: 7
    آخرين نوشته: 2012/01/23, 10:40

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

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

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

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

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