PDA

نسخه کامل مشاهده نسخه کامل : مشکل با پرت com



آلو جنگلي
21-09-2007, 01:58
با سلام
من میخواستم که 1 برنامه برای کار با پرت کام تو net. بنویسم.البته تا حدودی این کار رو انجام دادم ولی با مشکلاتی روبرو شدم که از این قرار هست:
من با استفاده از کد زیر پرت رو باز میکنم و توش مینویسم البته پرت کام رو هم با یک کابل موس به 1 بردبورد وصل کردم که اگر جریان برقرار شد 1 ال ای دی روشن بشه.

تو 2 تا از این سیما همیشه جریان هست که شمارشون 3و7(یعنی پین 3 و 7) هست.سیم شماره 5 که گرند هست هم به برد وصله ولی سیم شماره 7 که باید اطلاعات از درون آن ارصال بشه هیچ تغییری نمیکنه.
حالا نمیدونم مشکل کد هست یا بردم؟ اگر میتوونید توو حل این مشکل کمکم کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

am_merman01
21-09-2007, 19:41
دوستان شرمنده اشتباها جواب سوال دیگه ای رو اینجا پست کردم
خیلی خیلی شرونده .

آلو جنگلي
22-09-2007, 11:23
کدش اوون قسمتی که قرمز هستش مهمه بقیه خیلی مهم نیست.
به اوون دقت کنید...

_H2_
23-09-2007, 10:17
سلام
حدس میزنم کد را از جایی Copy و Paste کرده اید، چون کد ناقص است.
1- پارامترهای اتصال (شماره پورت، نرخ سرعت و...) اصلاً تنظیم نشده اند.
2- پورت هیچ کجا باز نمیشود!!! مگر میشود به پورت بسته چیزی ارسال کرد؟!
3- دستور try آخر ایراد املایی دارد و احتمالاً در زمان Copy و Paste یکی از بلوکهای catch یا finally اش حذف شده.
کد زیر کمی زیاد است ولی در عوض به سه شیوه مختلف داده ها را ارسال میکند و در صورت خطا آنرا گزارش میدهد تا نحوه صحیح استفاده از دستور try هم مشخص شود.
من پورت را قبل از ارسال باز کرده و در پایان میبندم ولی شما میتواند این اعمال را در شروع و پایان برنامه انجام دهید ...

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
وسیله نهایی تان چیست؟

آلو جنگلي
24-09-2007, 00:39
من گفته شما رو در رابطه با کامل نبودن کد قبول دارم چرا که این کد خیلی بیشتر از اونی هست که من اینجا گذاشتم. ولی من پرت رو ابتدا مقدار دهی میکنم بعد از اوون هم بازش میکنم و توش مینویسم.
ولی این مشکل من رو حل نمیکند چرا که مشکل من اینه که چه چیزی باید درون پرت بنویسم؟
و چرا در 2 سیم من همیشه جریان هست ولی در آن سیم که باید اطلاعات را که میخواهم بفرستم هیچ اتفاقی نمیفتد؟
در ضمن من 1 بردبورد دارم که در آن فقط میخواهم توانایی روشن کردن 1 ال ای دی رو پیدا کنم!!
اگر بتونی کمکم کنی خیلی ممنون میشم.

_H2_
24-09-2007, 10:09
سلام
در مورد مشکل جریان سه احتمال دارد.
1- یا کد مشکل دارد و درست اجرا نمیشود که گمان کنم کد خودم عاری از این بند باشد!
2- یا به علت بافرینگ اینطور میشود و کلاسس صبر میکند تا داده ها به حد مشخصی برسد و بعد ارسال را شروع کند،
که من این را قبلاً هم پیشبینی کرده بودم ولی اطمینان نداشتم و کد this.comport.WriteBufferSize = 1 برای همین منظور است یعنی اگر دو اسلش اول این خط را در کدهای من بردارید بافرینگ خاموش میشود و شاید مشکل حل شود.
3- سرعت انتقال دیتا بسیار بالاتر از آن است که اگر LED به پورت متصل باشد شما روشن شدن آن را ببینید!


اگر قصدتان کنترل راحت LED است باید بگویم که پورت COM مناسب نیست (یعنی میشود ولی کمی قطعه دیجیتالی نیاز دارد) و اگر هم مناسب باشد نیاز به یک آی.سی شیفت رجیستر دارید تا وضعیت را حذف کند و بتوانید به راحتی LED را کنترل کنید.
اگر پورت برایتان مهم نیست من در لینک زیر شرحی کوتاه بر درگاه سنترونیکس یا همان LPT خودمان داده ام که فکر کنم حلال مشکل شما باشد.
h02.ir/Paper.aspx?Item=LPT-Programming

آلو جنگلي
04-10-2007, 01:11
عرض کنم خدمتتون که من کد شما رو امتحان کردم ولی بازم جواب نگرفتم.به نظرت چقدر احتمال داره که بعلت بالا بودن سرعت اطلاعات led نتونه روشن بشه؟ اگر سر راهش 1 مقاومت بزارم مشکل حل میشه؟اگر این کار رو کردم و نشد اوون موقع چه چیزی رو امتحان کنم؟:41:

_H2_
04-10-2007, 09:28
سلام
در درگاه سنترونیکس وقتی پینی را تغییر میدهید تا دستور صریح بعدی وضعیت حفظ میشود.
و اون نظریه سرعت بالا فقط مربوط به درگاه سریال است و تازه، شاید صحیح باشد.

اگر با توضیحاتی که در لینک داده ام و به کمک پورت Lpt باز هم نتوانسته اید Led را روشن کنید، حتماً و بلاشک جایی را اشتباه کرده اید.
لینک را مجدداً مرور کنید و با دقت بیشتری عمل کنید.

آلو جنگلي
12-10-2007, 11:59
راه دیگه ایی وجود نداره؟؟؟

_H2_
15-10-2007, 10:32
سلام
میبخشید در شد، کار داشتم.
کار کردن با Lpt خیلی راحت است، اگر جواب نمیدهد باید اشکال کارتان را پیدا کنید؟! نه اینکه صورت مسئله را پاک کنید.
اصلاً پایه های Led را درست وصل میکنید؟؟؟

آلو جنگلي
26-10-2007, 12:22
آره.چون وقتی یکی از سیم ها رو وصل میکنم انگار که توش جریان باشه led روشن میشه.حالا تازه من کابل lpt از کجا گیر بیارم ؟:13:
این کابل com هم ماله mouse بود که ازش استفاده میکردم.ولی فکر کنم چاره ایی جز استفاده از lpt برام نمونده باشه!!!!:41:
برای استفاده از lpt باید تو برنامه بالا فقط اسم پورت رو عوض کنم؟

_H2_
27-10-2007, 10:08
سلام

....حالا تازه من کابل lpt از کجا گیر بیارم ?

فروشگاه های لوازم الکترونیکی (نه لوازم برقی) و خدمات کامپیوتری ها دارند، اگر کاری میکند که می ارزد میتوانید خریداری کنید.



برای استفاده از lpt باید تو برنامه بالا فقط اسم پورت رو عوض کنم؟
اگر منظورتان کد سریال ی است که برای COM استفاده کرده اید، باید بگویم نمیشود برای lpt استفاده کرد.
همانطور که قبلاً هم گفتم راهنمای استفاده از lpt در آدرس زیر موجود است.
h02.ir/Paper.aspx?Item=LPT-Programming