PDA

View Full Version : هنگ کردن برنامه هنگام کار با پورت سریال



iman-63
سه شنبه 18 شهریور 1393, 09:06 صبح
با سلام.
لطفاً می شه بگین این برنامه چرا کار نمی کنه؟

void chek (void)
{
serialPort1.Open();
serialPort1.DtrEnable = true;
timer1.Enabled = true;
while (!serialPort1.DsrHolding)
{
if (timeout)
break;
};


if (serialPort1.DsrHolding)
label1.Text = "Connect";
else
label1.Text = "DisConnect";

}

private void timer1_Tick(object sender, EventArgs e)
{
timeout = true;
}


اینطور که فهمیدم توی حلقه گیر میکنه و تایمر نمی تونه متغیر timeout رو مقدار دهی کنه.

ابوالفضل عباسی
سه شنبه 18 شهریور 1393, 09:15 صبح
خب در هر قسمت بریک پوینت بگذار ببین کجا گیر می کنه بعد می فهمی کجا نمی تونه مقدار دهی کنه

fakhravari
سه شنبه 18 شهریور 1393, 10:28 صبح
هنگ کردن برای حلقه while

مجید آرتا
سه شنبه 18 شهریور 1393, 11:12 صبح
بنده مبتدی هستم و چیزی که فهمیدم اینه که شما علامت Not یا ! رو بردارید ببینید درست میشه؟

iman-63
سه شنبه 18 شهریور 1393, 11:46 صبح
با تشکر


اینطور که فهمیدم توی حلقه گیر میکنه و تایمر نمی تونه متغیر timeout رو مقدار دهی کنه.


نمیدونم چرا گیر میکنه.
شرط serialPort1.DsrHolding مربوط به کتابخانه سریاله که در حالت اتصال مقدار true و در زمان قطع مقدار false رو بر میگردونه.
زمان تایمر رو روی 2 ثانیه تنظیم کردم. وقتی حلقه while و روتینش رو غیر فعال می کنم همه چیز درسته. چیزی که برام جالبه و نمی تونم حلش کنه اینه که چرا توی حلقه گیر می کنه؟