اطلاعیه

Collapse
No announcement yet.

برنامه نویسی برای حلقه نامحدود

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

    برنامه نویسی برای حلقه نامحدود

    سلام..

    من میخواستم برنامه ای بنویسم که هر پورت کاری جداگانه انجام دهند.
    مثلا PORTC.1 برای تمام مدت زمان برنامه بافاصله ی 1ثانیه LED روشن و خاموش شود و در هین این عمل PORTB به LCD وصل شده و کاری جدا انجام میده.
    درواقع میخوام مثلا این LED اختلالی در برنامه ی پورت های دیگر ایجاد نکنه و از اول تا آخر اجرای برنامه تداخلی برای پورت های دیگر ایجاد نکندو همانطور که بقیه پورت ها کار خود را انجام میدهند این پورت هم جداگانه کار خود را انجام دهد...

    با چه دستور و برنامه نویسی میشه این کار را کرد؟
    با C لطفا بنویسید.

    #2
    پاسخ : برنامه نویسی برای حلقه نامحدود

    سلام
    اگه منظورت اینه که میخوای چند تا کار رو هم زمان انجام بدی، این کار با AVR امکان پذیر نیست ولی یه جورایی میتونی شبیهشو بسازی که همونی که دوست داری در بیاد.
    اصل این روش ترد thread نام داره که در عمل میاد وقت پردازنده رو بین پردازش های مختلف تقسیم میکنه، تو همینجا دیده بودم در این مورد برای AVR چنین کاری رو انجام داده بودند.
    اگه تعداد پردازش هایی هم که نیاز داری زیاد نباشه میتونی از تایمر ها استفاده کنی به این شکل که مدام بین پردازشات حرکت کنی و سرعت که بره بالا تاخیرش حس نمیشه.
    ;()((void (*)(void))0x0000))

    دیدگاه


      #3
      پاسخ : برنامه نویسی برای حلقه نامحدود

      ممنون از راهنماییت

      دیدگاه


        #4
        پاسخ : برنامه نویسی برای حلقه نامحدود

        البته برا avr هم کرنل نوشته شده(بیشترش روی win avr) ولی خوب مصیبتیه واسه خودش
        من حتی یه بار یه کرنل برا code vision هم دیدم فقط مشگلش این بود که از رو کاغذ بود :redface:

        حالا چیکار می خوای بکنی که اینهمه هم زمانی می خواد؟!
        پشت به کنکور ، رو به سربازی...

        دیدگاه


          #5
          پاسخ : برنامه نویسی برای حلقه نامحدود

          تنها راه موجود استفاده از وقفه تایمرها هست.البته اگه پردازشت زیاد نباشه که سرعتت کم میشه
          همیشه به یاد خدا باش !

          دیدگاه


            #6
            پاسخ : برنامه نویسی برای حلقه نامحدود

            به نظر من هم اگه از اینتراپت تایمر ها استفاده کنی بهتره (البته اگه خیلی خیلی زمان براتون مهم نیست) :nerd: :job: :nice:
            چیزی را بگو که بتوانی بنویسی
            چیزی را بنویس که بتوانی امضا کنی
            چیزی را امضا کن که بتوانی به آن عمل کنی (ناپلئون)

            دیدگاه


              #7
              پاسخ : برنامه نویسی برای حلقه نامحدود

              ممنون از راهنمایی دوستان..

              برام زمان مهمه و متاسفانه امکان استفاده از تایمر ها را ندارم..باید روی تمام پورتها این کار انجام بشه..

              دیدگاه


                #8
                پاسخ : برنامه نویسی برای حلقه نامحدود

                دقیقا نمی دونم چیکار می خواهید بکنید اما فکر کنم بشه کلا یه کار های دیگه کرد!
                چیزی را بگو که بتوانی بنویسی
                چیزی را بنویس که بتوانی امضا کنی
                چیزی را امضا کن که بتوانی به آن عمل کنی (ناپلئون)

                دیدگاه

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