تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: پورت سریال و مشکل همزمانی

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Jul 2013
    پست ها
    2

    پيش فرض پورت سریال و مشکل همزمانی

    سلام
    وقت بخیر
    با یه دستگاه دارم کار می کنم که با پورت سریال تو سی شارپ بهش کانکت میشم
    من باید یه آرایه از نوع بایت براش بفرستم تا اون یه جواب به من بده ، بعد با توجه به جوابی که داده یه دستور دیگه براش بفرستم تا جواب نهایی رو بگیرم(این کار باید بصورت متناوب مثلا در هر 30 ثانیه تکرار بشه) به اینصورت:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همیشه بار اول درست اطلاعات برگشتی از دستور اول و دوم درست هست و دستور اول رو هم هر بار درست میفرسته اما اطلاعات دستور دوم رو نمیتونه درست برگردونه و ارورهایی مثل port openو access denied و ..
    میده، من فکر میکنم که به خاطر این هست که برنامه به دوتا نخ تبدیل میشه و ما هم دوتا دستور داریم و این باعث میشه که مثلا وقتی تیک تایمر اتفاق میفته همون لحظه پورت توسط ایونت دیتارسیو داره استفاده میشه و اطلاعات برگشتی مطلوب ما نیست
    ممنون از توجهتون

  2. #2
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    1-پورت سریال یک رابط Full Duplex می باشد. حالا این بنویسد و آن بخواند. (مشکلی وجود ندارد)
    2-دو نخ؟
    اگر رویداد سریال در یک Thread تعریف شود (به طور مثال ریسمان اصلی) و رویداد tick هم در همان Thread تعریف شده باشد قضیه ی دو نخ هرگز وجود نخواهد داشت. چرا که این Event ها یک تافته ی جدا بافته نیستند و همان Thread اصلی می باشند.
    3- اگر خود چند ریسمانه کرده اید (ایده اول) پس بخوانید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    4- اگر مسائل فوق مشکل شما را حل نکرده است. از Mutex و یا Semaphore استفاده کنید. هر کی از پورت استفاده کرد دیگری بایستد تا کار او تمام شود و سپس ادامه دهد.


    موفق باشید.

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Jul 2013
    پست ها
    2

    پيش فرض

    ممنون از توضیحاتتون
    من همونطور که گفتم فکر می کنم که یه جایی حین خوندن اطلاعات برگشتی از دستور دوم ، در همون لحظه دستور اول دوباره روی پورت فرستاده میشه ،
    ممنون از راهنماییتون
    اگر لازمه کد رو بزارم

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •