اطلاعیه

Collapse
No announcement yet.

افتادن دستورات برنامه روی همدیگر.

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    افتادن دستورات برنامه روی همدیگر.

    سلام خدمت دوستان من دارم یه سری دستور برای روبات تعقیب خطم با کد ویژن مینویسم ولی دستورات رو هم اثر میذاره و مستقل عمل نمیکنه. علت هم دستورات else بعد از هر if هست که باعث میشه دستورات if بعدی تحت تاثیر else های قبلی قرار بگیره. مثلا دستورات else که باعث صفر کردن میشه باعث میشه دستورات if دیگه ای که وجود داره و فرمان 1 کردن رو صادر میکنه رو ضعیف کنه و موتور ضعیف کار کنه. اگه از else هم استفاده نکنم دستورات متوقف نمیشه. چه روشی رو پیشنهاد میکنید استفاده کنم؟ از راهنماییتون از قبل سپاسگذارم :applause:
    کد:
       if(read_adc(3)<350 && read_adc(4)<350)
        {PORTC.3=1;
        PORTC.4=1;  
       OCR1A=255;//RIGHT
       OCR1B=255;//LEFT
       //LEFT
       PORTD.3=1;
       PORTD.2=0;
       //RIGHT
       PORTD.1=1;
       PORTD.0=0; } 
       
       else
       {PORTC.3=0;
       PORTC.4=0;
       PORTD.3=0;
       PORTD.1=0;

    اضافه شده در تاریخ :
    یعنی در واقع میخوام اولویت با دستوراتی باشه که پورت ها رو 1 میکنه. نه این که اونایی هم که 0 میکنه در هنگامی که ما دستورات 1 رو اجرا می کنیم روش اثر بذاره و باعث ضعیف شدن دستورات و خروجی ها بشن. یه سوال دیگه. 4148 واسه هرزگرد موتور ضعیف نیست؟ چیزی بهتر از 5819 سراغ ندارین؟
    لطفا سوالات فنی رو به جای پیام خصوصی در انجمن مطرح کنید.

    #2
    پاسخ : افتادن دستورات برنامه روبات تعقیب خط روی همدیگر.چاره چیست؟

    چرا else گذاشتی!!! خوب تا زمانی ک یه حالت برقراره باید دستورش اجرا بشه وقتی برقرار نیس اجرا نشه
    بعدم از else if استفاده کن ک هم پوشانی نداشته باشی
    کاش کانان که عیب من جستند رویت ای دلستان بدیدندی
    تا به جای ترنج در نظرت، بی خبر دست ها بریدندی

    موسسه پژوهشگران علوم نوین لنجان
    http://lenjantech.blog.ir/

    دیدگاه


      #3
      پاسخ : افتادن دستورات برنامه روبات تعقیب خط روی همدیگر.چاره چیست؟

      5819 ولتاژ و آمپراژ بیشتری رو تحمل میکنه و 4148 سرعت بیشتری داره!!!!

      دیدگاه

      لطفا صبر کنید...
      X