اطلاعیه

Collapse
No announcement yet.

کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

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

    کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

    سلام به همه .....من میخوام دو برنامه در زبان بیسیک همزمان اجرا بشن.... ازچه دستوری و چطور باید استفاده کنم؟؟
    برای مثال میکرو همزمان که یکی از پورتهاش داره با یه تاخیر زمانی مشخص روشن و خاموش میشند ....یه کار دیگر را جدا از این پورت انجام بده؟؟

    #2
    پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

    من خودم از IAR AVR استفاده میکنم و مطمئن نیستم که چیزی که میگم در بیسیک قابل پیاده سازی باشه، برای کارهای Multi-Tasking روی AVR معمولا از تایمر استفاده میکنن که شرحش به این صورته:
    فرض کنید کد برنامه همواره در یک Loop در حال چرخشه و ازش خارج نمیشه، در این میان وقفه تایمر مثلا هر 100 میلی ثانیه وکتور خودش رو کال میکنه، در این زمان Loop اصلی متوقف شده و کل فرمانهای وکتور تایمر خط به خط اجرا شده و پس از پایان Loop اصلی به کار خود ادامه میدهد، حالا اگه در وکتور تایمر یک کالبک فانکشن (CallBack) نوشته باشید میتونید هر فانکشنی رو به صورت داینامیک به تایمر پاس بدید تا براتون اجراش کنه در حین کارهایی که در Loop اصلی خودتون دارید انجام میدید، مثلا اگه یک فانکشن خالی پاس بدید مثل دستور NOP در 8051 میشه، حالا میشه گفت در آن واحد شما دوکار همزمان انجام میدهید ولی این به این معنی نیست که اگه تعداد تایمرهارو زیاد کنید، اونوقت تعداد کارهای موازی بیشتر میشه چون AVR خاصیت Nested Interrupt نداره و نمیتونه به صورت همزمان چند وقفه رو با هم وکتورهاشون رو کال کنه، در نتیجه در آن واحد همواره یک کار بیشتر انجام نمیده اما چون توابع داخل تایمر معمولا کوتاه و سریع هستن به نظر میرسه که هم Loop اصلی و هم فانکشن داخل تایمر همزمان دارن کار میکنن.
    اسمایل، تومورو ویل بی وُرس

    دیدگاه


      #3
      پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

      با سلام .
      فکر می کنم در میکرو چیزی به نام همزمان وجود نداشته باشه . هر خط از برنامه با یک سیکل ساعت انجام میشه . اما بفرمایید دقیقا کارتون چیه تا شاید بشه کار دیگه ای انجام داد .
      [glow=blue,2,300]آنقدر به تاريكي لعنت نفرستيد ، يك شمع روشن كنيد. [/glow]

      دیدگاه


        #4
        پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

        اگر منظور از همزمانی در حد سیکل ساعت باشه که بطور قاطع حتی در پروسسوری مثل پنتیوم هم نیست. اما خیلی وقتها میشه از تکنیک هایی مثل اشتراک زمانی برای ماست مالی کردن موضوع استفاده کرد و اون هم اینجوریه که یک زمانی مثلا 100 میلی ثانیه وقت میدن تا یک عمل انجام بشه و عمل بعدی در 100 میلی ثانیه بعدی و همینطور الی آخر. این مورد هم من تا بحال ندیدم روی بسکام باهاش کار کنن. گرچه نشدنی هم نیست.

        دیدگاه


          #5
          پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

          خیلی ممنون از راهنمایی های شما دوستان ....فکر کنم از دستور call اسنفاده کنم به نتیجه میرسم....من می خواستم دو سون سگمنت 4 تایی رو مستقیما به پایه های میکرو وصل کنم... و از 7447 استفاده نکنم...برای همین یکم برام گنگ شده بود که میکرو باید همزمان دستورات رو اجرا کنه یا راه دیگری هم هست که الان با call فکر کنم درست بشه(البته اینو بگم که من تازه دو هفتست که شروع به یادگیری avr کردم برای همین با همه ی دستورات آشنایی ندارم )

          دیدگاه


            #6
            پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

            سلام
            من هم یک پروژه ای دارم که۳عددرله هرکدام جداگانه قابل تنظیم باشه که در۲۴ساعت هروقتی راکه کاربربده رله هاعمل کرده ودستگاه راروشن وخاموش کندو۴عددهم سنسورکه مخزن خالی شدازطریق بازراعلام کنه خودم هم تازه کارهستم خیلی وقته روش کارمیکنم همزمان ۳تاکارمختلف رابصورت روان نمیتونم انجام بدم وازمهندسی هم کمک خواستم اسمش رانمیگم تافهمیددخترهستم چرت پرت گفت که بایدحضوری بگم بنویسی ازاین حرفا
            اول خواهش میکنم اگه کسی میتونه بهم کمک کنه ممنون میشم
            دوم قابل توجه اون مهندس که میدونم میخونه پستم روتکراربشه اسمتون هم مینویسم
            باتشکرازمدیریت سایت اگرکسی هم برنامه رابرام بنویسه هزینه هرچی باشه روی چشم میزارم وبااحترام پرداخت میکنم

            دیدگاه


              #7
              پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

              با سلام اگر فرصت کافی ندارید که پروژه رو خودتون انجام بدین که بحثش جداست و کسی دیگری براتون انجام میده اگر فرصت دارید و می خواهید از کنار این پروژه حتی در حد مبتدی چیزی یاد بگیرید باز بحثش جداست برای سه رله مستقل باید سه تا تایمر به طور جدا برنامه ریزی بشه که میکروهای معمولی هم همون سه تایمر رو دارند شما یک میکرو رو اول با یک تایمر راه اندازی کن تا دستت بیاد چکار کنی برنامه اون هم توی نت هست که باید بگردی برای مخزن معمولان از التراسونیک استفاده می کنن ولی یکی از یچه ها که تازه کار بود یک لوله سه متری رو مثل مال کولر سه تا شناور بهش وصل کرده بود با حرکت اون میکرو سوییچ قطع وصل میشد معلوم میشد اب در کجاست
              قصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....

              دیدگاه


                #8
                پاسخ : کمک در مورد اجرای هم زمان دو برنامه در یک سیکل

                نوشته اصلی توسط asmaasadi نمایش پست ها
                سلام
                من هم یک پروژه ای دارم که۳عددرله هرکدام جداگانه قابل تنظیم باشه که در۲۴ساعت هروقتی راکه کاربربده رله هاعمل کرده ودستگاه راروشن وخاموش کندو۴عددهم سنسورکه مخزن خالی شدازطریق بازراعلام کنه خودم هم تازه کارهستم خیلی وقته روش کارمیکنم همزمان ۳تاکارمختلف رابصورت روان نمیتونم انجام بدم وازمهندسی هم کمک خواستم اسمش رانمیگم تافهمیددخترهستم چرت پرت گفت که بایدحضوری بگم بنویسی ازاین حرفا
                اول خواهش میکنم اگه کسی میتونه بهم کمک کنه ممنون میشم
                دوم قابل توجه اون مهندس که میدونم میخونه پستم روتکراربشه اسمتون هم مینویسم
                باتشکرازمدیریت سایت اگرکسی هم برنامه رابرام بنویسه هزینه هرچی باشه روی چشم میزارم وبااحترام پرداخت میکنم
                اینکار اگه قرار باشه کامل و صحیح انجام بشه کار آسونی نیست. البته کنترل سه رله کاری نداره.
                اما بخش مهمش اینه که استفاده از تایمرهای میکرو تو اینکار خطا ایجاد میکنه و حتما باید از RTC استفاده بشه و برای مواقعی که برق میره، به باتری بک آپ مجهز باشه تا زمان رو از دست نده و رله ها رو بر اساس زمانی که کاربر تعیین میکنه خاموش یا روشن کنه.
                سنسورها هم که بجای خود.
                کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                دیدگاه

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