ايران ويج

نسخه‌ی کامل: ارتباط با دیوایس با استفاده از پورت سریال
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

برنامه از طریق پورت سریال به مودم مخابراتی وصل میشه و سپس اطلاعات به مودم دوم به صورت بیسیم ارسال میشه و مودم دوم به یه کامپیوتر دوم وصل میشه و کامپیوتر دوم هدر مربوط به مودم رو برمیداره و به یه دیوایس میده و بعد باید اطلاعات پاسخ از دیوایس گرفته بشه و هدر مودم روش گذاشته بشه تا مودم بتونه ارسالش کنه.

مشکل اینجاست که طول دیتای دیوایس مشخص نیست و چندین بسته که آخر هر بسته n\ هست توسط دیوایس ارسال میشه و تعداد بسته ها مشخص نیست، چطور میشه کل اطلاعات ارسالی دیوایس رو گرفت؟

حلقه while با تعداد ایتریشن بالا هم اطلاعات رو کامل نمیده در صورتی که میدونیم دیوایس خیلی طول نمیده و زود پاسخ میده. دیتایی هم که به دیوایس میدیم چک کردم درسته، فقط وقتی دیتا رو اول تو آرایه ذخیره کنیم و بعد با حلقه for بفرستیم دیوایس درست پاسخ نمیده به همین خاطر دیتایی که از مودم میاد مستقیم میدم به دیوایس ولی دیتایی که از دیوایس میاد رو نمیشه مستقیم داد به مودم چون باید هدر بزارم روش. پس مشکل دو تاست! اولا دیتا رو کامل نمیده مودم(یعنی با حلقه وایل نمیتونیم کامل بگیریم چون تهشو نمیدونیم) و ثانیا وقتی دیتا رو تو آرایه سیو میکنیم بعد تو حلقه for ارسال میکنیم درست ارسال نمیشه!!

کامپیوتر اول سیستم عامل اوبونتو داره و با زبان سی شارپ برنامه رو نوشتم که کاملا درست کار میکنه(با mono runtime اجرا میشه)
کامپیوتر دوم یه کامپیوتر کوچیک به نام PC104 هست که داس روش نصبه و برنامه رو با Turbo C نوشتم ولی این قسمت مشکل داره

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

کسی از دوستان میدونه چطور میشه این مشکل رو حل کرد؟