اطلاعیه

Collapse
No announcement yet.

خواندن و نوشتن همزمان روی پورت سریال؟

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

    خواندن و نوشتن همزمان روی پورت سریال؟

    سلام.
    چطوری میشه در برنامه نویسی (ترجیحاً زبان VB.NET یا MATLAB یا ++C) دو تا دستور رو همزمان اجرا کرد؟ مثلاً میخوام در حالی که همیشه در حال خوندن از پورت سریال هستم بتونم کارهای دیگه هم توی همون برنامه انجام بدم مثلاً نوشتن در پورت سریال یا پردازش داده ورودی و ... . به جز Multi Threading راه ساده تری نداره؟
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

    #2
    پاسخ : خواندن و نوشتن همزمان روی پورت سریال؟

    روش کار اینه که وقفه سخت افزاری پورت سریال فعال بشه
    در زمان برنامه نویسی تحت داس با C++ من اینکارو میکردم. وقفه سریال رو فعال میکردم. در روتین این وقفه داده موجود در پورت سریال (هر وقت داده ای اومد) درون یه آرایه قرار میگرفت
    (اگه میکرو AVr با کدویژن کار کرده باشید وقتی وقفه سخت افزاری پورت سریال فعال میشه اینکارها انجام میشه)
    در زبانهای تحت ویندوز خود محیط برنامه نویسی ممکنه این قابلیت رو در اختیارتون قرار بده (سی شارپ و لب ویو این قابلیت رو دارند و بدون اینکه شما بخواین از وقفه سخت افزاری پورت سریال استفاده میکنند و شما هر وقت خواستی داده ای بخونی اول باید ببینی چیززی تو بافر سریال هست یا نه)
    متلب رو نمیدونمک ولی به احتمال زیاد VB هم داره.
    شما کار خودتو انجام میدی هر وقت خواستی از پورت سریال چیزی بخونی اول ببین چیزی تو بافر هست یا نه

    دیدگاه


      #3
      پاسخ : خواندن و نوشتن همزمان روی پورت سریال؟

      خیلی ممنون از جوابت.
      یعنی بدون نوشتن دستور خواندن از پورت، داده ورودی به صورت خودکار در بافر قرار می گیره؟
      اگه ممکنه یک کد تست شده بذار(با #C هم باشه مشکلی نیست چون به هر حال هر دو تحت NET. هستند).
      لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
      لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
      با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
      اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
      يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

      دیدگاه


        #4
        پاسخ : خواندن و نوشتن همزمان روی پورت سریال؟

        شرمندم من سی شارپ کار نکردم
        من لب ویو کار میکنم برای کار با پورت سریال یه تابع داره که مشخص میکنه چند بایت در بافر وجود داره (چند تا داده اومده) اونوقت اگه بزرگتر از صفر باشه از تابع خواندن از پورت استفاده میکنم(دیگه معطل اومدن داده نمیشم)
        او انجمن برنامه نویسی بارها دیدم که بچه ها در مورد پورت سریال در C# پرسیدن فکر میکنم اونجا بتونی کد آماده پیدا کنی

        دیدگاه


          #5
          پاسخ : خواندن و نوشتن همزمان روی پورت سریال؟

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

          دیدگاه


            #6
            پاسخ : خواندن و نوشتن همزمان روی پورت سریال؟

            از همه جواب ها ممنون. پیداش کردم:
            کد PHP:
              Private Sub SerialPort1_DataReceived(ByVal sender As ObjectByVal e As System.IO.Ports.SerialDataReceivedEventArgsHandles SerialPort1.DataReceived

              End Sub 
            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
            اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
            يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

            دیدگاه

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