اطلاعیه

Collapse
No announcement yet.

مقدار دهی تابع delay

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

    مقدار دهی تابع delay

    سلام
    کسی میدونه که باید چطوری تابع delay() تو برنامه کدویژن متغیرش کرد.
    نمی خوام عددش ثابت باشه
    می خوام عدد داخل تابع delay(i) رو با یک کلید تغییر بدم . همون مقدار i که داخلش نوشتم.
    همچین چیزی ممکن هست یا نه؟
    ممنون میشم کسی جواب بده.....

    #2
    پاسخ : مقدار دهی تابع delay

    خود تابع delay_ms رو که نمی تونی تغییر بدی.
    یه تابع دیگه بنویس داخلش یه حلقه ی for بذار ، و توی اون حلقه بنویس [code=c]delay_ms(1);[/code]

    مثل این :

    [code=c]void _delay(int d){
    for(int i=0 ; i<d ; i++){
    delay_ms(1);
    }

    }[/code]
    http://massoud68.persiangig.com/pict...1406891613.gif

    مشکلتون حل شده ؟؟؟
    پس روي "موضوع به نتيجه رسيد" کليک کنيد !! :job:

    دیدگاه


      #3
      پاسخ : مقدار دهی تابع delay

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

      برنامه من اینه
      [code=c]
      while (1){


      for(i=0; i<255; i++){
      PORTC=f_sin[i];
      delay_ms(10);

      }





      }

      [/code]
      حالا می خوام این مقدار 10 رو تغییر بدم توسط یک کلید.

      دیدگاه


        #4
        پاسخ : مقدار دهی تابع delay

        نوشته اصلی توسط yoshig2
        سلام
        کسی میدونه که باید چطوری تابع delay() تو برنامه کدویژن متغیرش کرد.
        نمی خوام عددش ثابت باشه
        می خوام عدد داخل تابع delay(i) رو با یک کلید تغییر بدم . همون مقدار i که داخلش نوشتم.
        همچین چیزی ممکن هست یا نه؟
        ممنون میشم کسی جواب بده.....
        :wow: با سلام
        ما سالهاست که متغیر برای تابع delay
        کد:
        delay_ms(i);
        تعریف می کنیم
        به این مثال توجه کنید:
        کد:
        for(i=0;i<500;i=i+50)
        {
        PORTD=0xff;
        delay_ms(i);
        
        PORTD=0x00;
        delay_ms(i);
        }

        یا به این مثال کامل تر با توجه به درخواست دوستمون توجه کنید
        کد:
        if(PINC.0==0)
        {
        while(PINC.0==0);
        
        i=i+50;
        
        PORTD=0xff;
        delay_ms(i);
        
        PORTD=0x00;
        delay_ms(i);
        }
        :applause: در صورت نیاز بگید تا بیشتر توضیح بدهم :read:
        آنچه كه باعث موفقيت انسان ها مي شود سخت كوشي است و نه نخبه بودن! Porsche 911 Turbo S 181.000 $ USD
        جناب سعدی فرموده بودند: "بر احوال ان مرد باید گریست _ که دخلش بود نوزده، خرجش بیست!"
        که اگه الان بود باید میگفت: "بود حال و احوال آن مرد زار _ که دخلش ریال است ، خرجش دلار :|"
        http://www.eca.ir/forum2/index.php?topic=80472.msg489565#msg489565
        http://www.eca.ir/forum2/index.php?topic=82242.msg501926#msg501926

        دیدگاه

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