نمایش نتایج 1 تا 5 از 5

نام تاپیک: پردازش دادها در رویداد data resived پورت سریال

  1. #1

    پردازش دادها در رویداد data resived پورت سریال

    سلام به همه.
    من توی برنامم دارم با یه میکرو در هر 10 میلی ثانیه با پورت سریال به pc دیتا میدم.
    حالا از اونجا که فهمیدیم رویداد data resived با یه thread با اولویت بالاتر جدا از برنامه اجرا میشه. بهمین دلیل نمی توانیم درون این تابع به کنترل ها و توابع دیگر دسترسی داشته باشیم.
    بازم تا جایی که فهمیدم ساده ترین راه آدرس دهی استفاده از دستور invoke هست که من بلد نیستم!!!
    فعلاً دارم با یه تایمر دستورات رسیده رو پردازش میکنم.
    ممکنه یه توضیح یا مثال از این خاصیت اینجا بذارین.

    با تشکر.

  2. #2
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: پردازش دادها در رویداد data resived پورت سریال

    سلام.
    ۱.دیدتون راجع به ترد و اون ترد خاص و دسترسی و invoke اشتباهه ولی خوشبختانه زیاد مانع کارتون نمیشه.
    ۲.بهترین راهی که به نظر میرسه اینه که شما اطلاعات رو در یک لیست(نه لیست باکس) بریزید و با یک ترد دیگه هم اطلاعاتش رو نمایش بدید.
    فقط دو کار باید انجام بشه که برنامتون دچار مشکل نشه:
    ۱.هر ترد برای دسترسی به لیست باید از lock استفاده کنه و دوم اینکه برای کاهش latency و جلوگیری از load بی دلیل پردازنده شما باید از یک ManualResetEvent استفاده کنید.
    توجه:
    این فقط یک روش بود.

    روش دوم هم اینه که فکر قبلی خود را ادامه بدید و روش کار Invoke رو با جست و جوی عبارت Control.Invoke Example در گوگل یاد بگیرید.
    (این روش روش بدی نیست ولی بهترین نیست.)

  3. #3

    نقل قول: پردازش دادها در رویداد data resived پورت سریال

    سلام.
    ممنون از پاسختون. واقعاً موندم باید چیکار کنم.

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    بهترین راهی که به نظر میرسه اینه که شما اطلاعات رو در یک لیست(نه لیست باکس) بریزید و با یک ترد دیگه هم اطلاعاتش رو نمایش بدید.
    فقط دو کار باید انجام بشه که برنامتون دچار مشکل نشه:
    ۱.هر ترد برای دسترسی به لیست باید از lock استفاده کنه و دوم اینکه برای کاهش latency و جلوگیری از load بی دلیل پردازنده شما باید از یک ManualResetEvent استفاده کنید.
    ممنون میشم اگه ممکنه توضیح بیشتری یا یه مثال برام بذارید.

    با تشکر.

  4. #4
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: پردازش دادها در رویداد data resived پورت سریال

    سلام.
    تمام مواردی که ذکر کردم حداقل ۲۰ بار در همین سایت آموزش داده شده.
    در گوگل هم اگر جست و جو کنید چند هزارتایی پیدا میکنید.
    خیلی کار پیچیده ای نیست.

    http://msdn.microsoft.com/en-us/libr...(v=vs.71).aspx

  5. #5

    نقل قول: پردازش دادها در رویداد data resived پورت سریال

    سلام.
    مشکل اینه که من مبتدیم و اصلاً نمی دونم باید دونبال چی بگردم!!!
    اگه ممکنه شما چندتا تایپیک معرفی کنین. این سایت هم که معرفی کردین .......

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •