اطلاعیه

Collapse
No announcement yet.

ایجاد یک وقفه با for در زبان c

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

    #16
    پاسخ : ایجاد یک وقفه با for در زبان c

    بله اگه خواستن وردی رو scan کنن بله باید PIN باشه نه PORT

    منظورتون از اینکه میفرمایید سی پی یو 100 درصد درگیر میشه رو نمیفهمم. مگه توی میکرو cpu با صددرصد توانش کار نمیکنه؟
    توی کامپیوتر سیستم عامل cpu رو مدیریت میکنه ولی آیا توی میکرو هم همینطوره؟
    www.gam-co.blogsky.com

    دیدگاه


      #17
      پاسخ : ایجاد یک وقفه با for در زبان c

      بالاخره 1 cpu داخل میکرو بیشتر نیست
      و تایمرها هرکدام cpu جداگانه ای برای اجرای دستوراتشون ندارند و کلاک داره به شکلی بین قطعات تقسیم میشه و در نهایت cpu داره دستورات رسیدرو اجرا میکنه , کاری که در ساخت سایکل های پردازشی در معماری کامپیوتر وجود داره قدری شبیه به تایمینگ های پردازشی در سیستم عامل است
      از طرفی کار کرد بالا یا پائین پردازنده به کلاک خوردن cpu مرتبط نیست , cpu کامپیوتر هم داره با بالاترین کلاک در هر لحظه کلاک میخوره(در برخی مدل های جدید برای صرفه جوئی در مصرف انرژی مد کلاک در حالت معمولی و در پردازش سنگین تر از حالت معمولی کمی تغییر میکنه)
      چیزی که کارکرد پردازندرو بالا و پائین میکنه میزان دستورات قابل اجرائی است که به سمت پردازنده فرستاده میشه , که میتونه باعث شه در پردازش های سنگین بیشتر داغ کنه و فن روشن شه و دورش بره بالا , در میکرو هم همینه
      چیزی که در تسک منیجر ویندوز دیده میشه که cpu رو 2 درصد هست معناش این نیست که الان کلاک cpu رو 2 مگا هرتزه , همچنان حداقل با 2 گیگا هرتز cpu داره کلاک میخوره , اون درصد میزان پردازش های cpu در مقطع زمانی خاصی حساب میکنه

      دیدگاه


        #18
        پاسخ : ایجاد یک وقفه با for در زبان c

        نوشته اصلی توسط smf121
        نکاتی که دوستان در مورد نحوه اعمال تاخیرمطرح می کنند بجاست
        ولی از اونا که بگذریم علت کار نکردن کد شما چیز دیگس- دوتا اشکال در کدش هست
        اولا برای چک کردن ورودی چرا از رجیستر PORT استفاده می کنید؟
        دوما چرا بعد از if سمیکالن میذارید؟ با گذاشتن سمیکالن، چه شرط درست باشه و چه نباشه کاری انجام نمیده
        کد:
          for (j=0;j<400;j++)
                      { for (f=0;f<250;f++) 
           
                      { 
                       for (k=0;k<20;k++)
                       {  
                        //if (PORTC.7==1);//??!!
                        (if PINC.7==1)
                        { j=400;
                        k=20;
                        f=250;
                        goto GETNUM;}
                       }
                      } 
                      }
        ممنون از محبتتون. اشکالم برطرف شد و برنامه کار کرد.فقط دو تا سوال دارم:
        1) فرق PORT با PINچیه؟
        2)مدار من از دو قسمت جدا با منابع تغذیه ی جدای 5 ولتی تشکیل شده . این کار را به دلیل نویز بالای یکی از آنها کرده ام. حالا قراره از یکی به دیگری پایه ای وصل شود و همین دستور بالارو که کدشو گفته بودید انجام بده و C7 دیتکت کنه ولی چون گراند دو قسمت از هم جداست سطح ولتاژی برابری ندارند و میکرو من نمیتونه یک شدن اون پایه رو ببینه. از طرفی نمیشه گراندا هم به هم وصل کنم. (حتی با سلف هم نشد گراندارو به هم وصل کنم) الان با یک باتری قلمی سعی کردم این اختلاف ولتاژ گراند 1/2 ولتی رو جبران کنم ولی باز میکرو نمیتونه اونو دیتکت کنه. به نظر شما چه کار کنم؟
        ممنون

        دیدگاه


          #19
          پاسخ : ایجاد یک وقفه با for در زبان c

          سلام
          عزیزم Matsuyama-sama شما کافیه که دستور زیر رو بعد از دستور اخرتون اضافه کنید:


          sleep(5000) //makes the program wait for 5 seconds

          اگر وقفه طولانی شد یعنی سیستم شما بر حسب میلی ثانیه نیست پس به جای 5000 عدد 5 یا هر عدد مورد نظرتونو قرار بدین...

          مثال:
          include <iostream> //
          #include <stdlib.h> //for using the function sleep

          using namespace std; //for using cout

          int main(void)
          {
          cout << "test" << endl;
          sleep(5000); //make the programme wait for 5 secondes
          cout << "test" << endl;
          sleep(2000); // wait for 2 secondes before closing

          return 0;
          }

          دیدگاه


            #20
            پاسخ : ایجاد یک وقفه با for در زبان c

            ممنون fuji buri از شما ولی اون مشکلم حل شد. دو تا دیگه مشکل دارم که اگر کمکم کنید متشکر میشم
            orihime-chan :nice:

            دیدگاه

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