ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2006/05/05
    یزد
    307
    2

    کار با پورت سریال با برنامه 6 ++VC به صورت وقفه ای

    سلام.
    من با برنامه visual c++ 6 با پورت سریال ارتباط برقرار کردم.
    این کار رو با استفاده از CreateFile انجام دادم.

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

    چطور میتونم این کار رو انجام بدم؟؟ :cry:
    اگر انسان از همه خطر ها پرهيز کند ، هرگز راه به جائي نخواهد برد...
  2. #2
    2006/10/25
    اصفهان
    203
    0

    پاسخ : کار با پورت سریال با برنامه 6 ++VC به صورت وقفه ای

    منظورتون را از CreatFile متوجه نشدم اما اگه منظورتون قفل کردن برنامه است از Thread می تونید استفاده کنید.
    Difficult But possible
    به اميد ايراني آباد.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2006/05/05
    یزد
    307
    2

    پاسخ : کار با پورت سریال با برنامه 6 ++VC به صورت وقفه ای

    منظورم از CreatFile این هست:

    hCom=CreateFile("COM1",GENERIC_READ | GENERIC_WRITE,
    0,
    NULL,
    OPEN_EXISTING,
    0,
    NULL);

    if(hCom==INVALID_HANDLE_VALUE)
    {
    MessageBox("an error occured(in opening port)"
    return FALSE;
    }
    //set dcb
    DCB dcb;
    FillMemory(&dcb,sizeof(dcb),0);
    if(!GetCommState(hCom,&dcb))
    {
    MessageBox("an error occured(on geting state of port)2"
    }
    dcb.BaudRate=CBR_19200;

    dcb.Parity=NOPARITY;

    dcb.StopBits=ONESTOPBIT;
    dcb.ByteSize=8;
    dcb.EofChar=1;
    dcb.EvtChar=0;

    که با استفاده از WriteFile و ReadFile میشه با پورت سریال ازتباط برقرار کرد.
    ولی مشکل اینجاست که برای نوشتن و خوندن باید خودت بگی کی داده رو بخونه!

    من میخوام به صورت وقفه ای باشه، یعنی هر وقت داده روی پورت بود خودش به سیستم وقفه بده و داده رو ذخیره کنه.
    اگر انسان از همه خطر ها پرهيز کند ، هرگز راه به جائي نخواهد برد...
  4. #4
    2006/05/05
    یزد
    307
    2

    پاسخ : کار با پورت سریال با برنامه 6 ++VC به صورت وقفه ای

    یعنی کسی تا حالا با پورت سریال به صورت وقفه ای کار نکرده؟؟
    :cry: :cry2:
    اگر انسان از همه خطر ها پرهيز کند ، هرگز راه به جائي نخواهد برد...
  5. #5
    2010/08/03
    مشهد
    10
    1

    پاسخ : کار با پورت سریال با برنامه 6 ++VC به صورت وقفه ای

    سلام آقا پیام
    به صورت وقفه ای که فکر نکنم بشه تو ویندوز ولی می تونی پورت رو منیتوریگ کنی.
    یعنی 1جورایی وقفه نرم افزاری تولید کنی اگه مایلی بیشتر برات توضیح بدم اگر هم مشکلت حل شده که لطفا بذار رو سایت تا دیگران هم استفاده کنن.
    من با مونیتور کردن پورت هیچ مشکلی ندارم ولی با readfile , writefile چرا
    یعنی درست نمی خونه اگه ممکنه برات 1توضیح بده لطفا
    برای انسان های بزرگ بن بستی وجود ندارد!
    چون بر این باورند که:
    - یا راهی خواهم یافت
    - یا راهی خواهم ساخت
    پس...
  6. #6
    2008/09/02
    اصفهان
    1,897
    37

    پاسخ : کار با پورت سریال با برنامه 6 ++VC به صورت وقفه ای

    فرم وقفه ای از دید برنامه وجود خارجی نداره چون تحت کنترل سیستم عامل هست. در اصل اون خودش با وقفه اطلاعات رو ارسال و دریافت میکنه. اما اگر مشکلت اینه که نمیخوای از Thread برای مدیریت دریافت داده ها استفاده کنی تنها راهی که بنظر میرسه استفاده از فرم OVERLAPPED IO هست. در این حالت که برای ارسال مشکلی نداری. چون در زمانی که از WriteFile استفاده میکنی اطلاعات ارسالی به بافر داخلی نرم افزاری سیستم منتقل میشه. ولی در زمانی که ReadFile انجام میدی اگر اطلاعاتی در بافر وجود نداشته باشه سریعا برمیگرده. قاعدتا باید از سرویس WaitCommEvent بصورت OVERLAPPED استفاده کنی تا بتونی به محض انجام عمل خاصی روی پورت سریال از طریق یک Event متوجه بشی و روال مورد نظر رو صدا کنی.
    البته نوشتن یک کد با این روش کمی دردسر داره و بهترین روش همون استفاده از Thread هست.
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. خارج شدن از وقفه پورت سریال
    توسط infernal1990 در انجمن NXP
    پاسخ: 8
    آخرين نوشته: 2015/09/04, 10:33
  2. وقفه پورت سریال
    توسط italia2006 در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2013/01/04, 15:46
  3. وقفه پورت سریال
    توسط ahmad2000 در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2012/02/08, 11:28
  4. فعال سازی وقفه پورت سریال در VB
    توسط Meysamhl در انجمن برنامه نويسي و اينترفيس
    پاسخ: 6
    آخرين نوشته: 2011/08/11, 22:53
  5. وقفه برای پورت سریال نرم افزاری
    توسط amirehsan در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2010/01/21, 22:51

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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