اطلاعیه

Collapse
No announcement yet.

عبور از دستور Input #1?

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

    عبور از دستور Input #1?

    درود
    اگر در برنامه از دستورInput #1 استفاده کنیم .برای ارتباط با کامپوتر .هنگامی که برنامه به این دستور میرسد متوقف میشود تا از گذرگاه اطلاعاتی که از سمت کامپوتر میاید دریافت کند .که مشکلی نیست
    اما اگر اطلاعاتی نیاید متوقف میشود و ادامه برنامه اجرا نمیشود .؟
    چه باید کرد برای ادامه کار ؟{bascom}
    success needs a powerful start

    #2
    پاسخ : عبور از دستور Input #1?

    سلام

    شما باید از وفقه ی پورت سریال استفاده کنید
    و در ISR مربوط به وقفه ی سریال بافر پورت را بخوانید

    Enable Interrupts
    Enable Urxc
    On Urxc Rs_232

    Do
    Loop

    End

    Rs_232:

    _data = Inkey()

    Return
    ِِDie for Life, Not Live to Die
    Freedom Fighter
    " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

    دیدگاه


      #3
      پاسخ : عبور از دستور Input #1?

      ممنون chia خان :اما من میخام 1 میکرو ای تی مگا 32 رو در ان واحد به دو کامپیوتر یا؟ وصل کنیم که ارتباط دو طرفه و با وقفه سریال می باشد :{تا جایی که میدونم باید از دو پایه rx,tx استفاده کرد و نمیشود در وقفه سریال نرم افزاری کار کرد؟ {{میکرو atmega32 محدودیت یک rx , tx داره}
      مشکل؟
      از لحاظ سخت افزاری باید از max232 استفاده کنیم.وباید 4 بافر ان استفاده شود .2بافر ورودی خروجی برای کامپیوتر اولی و 2بافر ورودی خروجی برای کامپیوتر دومی اما در نهایت 2 بافر خروجی max232 از 2 کامپیوتر به rx microو 2 بافر ورودی max232 از 2 کامپیوتر به tx micro متصل می شود یعنی تداخل یعنی نویز یا هنگ میکرو.
      برای حل::این مشکل یا باید دنبال راه حل سخت افزاری؟ بود یا نرم افزاری؟
      گزینه ها
      1.کامپیوتر 1رو با وقفه سریال پیکر بندی میکنیم پس rxd,txd مشغول میشه{پس نباید دیگه استفاده کرد rxd , txd مگر راه حل سخت افزاری پیدا شود ؟}
      برای کامپیوتر دوم اگه سراغ وقفه سریال بریم مشکل بالا به وجود میاد {نویز یا هنگ}پس باید دنبال راه حل دیگه ای بود راه حلهایی که به ذهن من میرسه
      Open "comx.x:9600,8,n,1" For Input As #1
      تعریف پایه های دیگه برای ارتباط و استفاده از دستور Input #1 , S این باعث میشه مشکل کمبود پایه رفع بشه اما چون دیگه نمیشه از وقفه استفاده کرد و مشکل این دستور توقف برنامه بر روی دستور است پس باید راه حلی پیدا کرد که برنامه از روی این دستور عبور کند تا پروسه برنامه طی شود . {در ضمن دستور هایی برای عبور از input که مشابه Input #1 است وجود دارد }پس اگر دستور مورد نظر پیدا شود تمام مشکل حل میشود
      success needs a powerful start

      دیدگاه


        #4
        پاسخ : عبور از دستور Input #1?

        سلام

        شما 2 راه حل دارید

        1: از یک اتمگا 64 استفاده کنید که دوتا یوزارت داره
        – Dual Programmable Serial USARTs

        2: طوری برنامه نویسی کنید که میکرو کنترلر به عنوان مستر عمل کند. به این صورت که هردو کامپیوتر بوسیله ی بافر به میکرو وصل شوند و با رعایت یک پروتوکل از قاطی شدن دیتاها جلوگیری کنید

        اول از میکرو مثلا کامپیوتر1 رو فراخوانی کنید و اجازه ی ارسال دیتا رو بهش بدید . بعد که کارتون با کامپیوتر 1 تموم شد یه کد به منظور توقف ارتباط با کامپیوتر1 براش بفرستید

        بعد یک کد فعال ساز برای کامپیوتر 2 ارسال کنید و اجازه ی تبادل اطلاعات رو براش صادر کنید

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

        ِِDie for Life, Not Live to Die
        Freedom Fighter
        " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

        دیدگاه


          #5
          پاسخ : عبور از دستور Input #1?

          1.چون تعداد زیادی میکرو32 دارم پس استفاده ازمیکرو دیگر فعلا منتفی است
          2. همزمان دو دستگاه یا دو کامپیوتر در مدار هستند
          success needs a powerful start

          دیدگاه

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