واضح آرشیو وب فارسی:سایت ریسک: hamishebahar16-11-2009, 05:15 PMسلام دوستان خسته نباشید. من یه مشکل حیاتی برای دریافت اطلاعات از یک سخت افزار خارجی که به پورت LPT متصل میشه دارم. من میتونم اطلاعات دریافت و ارسال کنم ولی مشکل اینجاست که وقتی این سخت افزار به پورت اطلاعات ارسال میکنه نمیدونم چطوری باید اونو دریافت کنم:41:. مثلاً از کدوم پین باید اطلاعات رو و چطوری دریافت کنم از فایل input32.dll اسفاده میکنم برای دریافت و ارسال. ممنون و موفق باشید.:11:. _H2_16-11-2009, 07:17 PMسلام چندباری لینک این مقاله را دادم ... نمیدانم شاید دیده باشید ولی اگر ندیده اید پیشنهاد میکنم نگاهی کنید، احتمالاً مشکلتان حل خواهد شد: support.h02.ir/fwlink/?LinkId=1000292003 hamishebahar16-11-2009, 07:48 PMسلام حسن جوون. مگه میشه ما مقاله های شما رو نخونیم. من همشو قبلاً خونده بودم. ببین من یک سخت افزار دارم که این سخت افزار فقط اطلاعات میفرسته و دریافت نمیکنه. حالا من میخوام تمام بایت هایی که این سخت افزار میفرسته رو بدون کمو کاستی بگیرم.ولی نمیدونم که این سخت افزار کی این بایتها رو میفرسته که من دریافتشون کنم. ممنون. _H2_16-11-2009, 09:30 PMسلام ... ولی نمیدونم که این سخت افزار کی این بایتها رو میفرسته ... اصولاً در انواع تجهیزات دیجیتالی که قرار است اطلاعاتی پشت سر هم از منبعی برای مقصدی ارسال شود یک سیم و پین مسئول انتقال داده ای است که به ان "پالس ساعت" اتلاق میشود و در نقشه کشی معمولاً حروف CLK را کنار این سیم درج میکنند و گاهاً در داخل محدوده IC ها هم یک مثلث کوچک در محل ورود CLK کشیده میشود. سیگنال CLK احتمالاً همان راه حل مشکل شما است. (البته اگر مشکلتان را درست متوجه شده باشم!) فرستند اطلاعات در زمانی که بایت یا هر بلوک اطلاعاتی جدید را روی گذرگاه دیتا (و شاید ادرس) قرار میدهد یک تک پالس (لبه) بالارونده روی CLK میفرستد تا گیرنده (که معمولاً یک آی.سی لچ (latch) است) روی اطلاعات قفل کند. شما باید سیم یا پین سیگنال CLK وسیله فرستنده را پیدا کنید و در نرم افزار (به کمک قابلیت چند ریسمانی) یک حلقه ایجاد کنید که تغییر وضعیت CLK از سطح صفر به یک را کشف کند و تشخیص دهد (لبه بالارونده). تووجه کنید که ذات 0 یا 1 بودن CLK مهم نیست و معیار نیست و هیچ فرقی ندارد CLK صفر باشد یا یک و برای کد شما هم نباید این مهم باشد، مهم لبه بالارونده تغییر است یعنی در زمانی که CLK فرستنده از 0 به 1 تبدیل شود (که فقط و فقط یک لحظه کوتاه خواهد بود) این زمان هنگام صحیح خواندن سایر پین های ورودی گذرگاه دیتا (و یا آدرس) خواهد بود. ===== خلاصه: پس پین CLK را در برد چاپی یا نقشه فرستنده پیدا کنید و حلقه ای بگذارید که از صفر به یک شدن CLK را کشف کند و در همین لحظه کد خواندن بایتهای جدید اجرا شود. ===== نکته اخر آنکه احتمال دارد اطلاعات شما عکس=قرینه شده باشند یعنی اگر بالای لغت CLK در برد چاپی یا نقشه یک خط صاف بود و یا در مسیر خروجی CLK یک نقطه گرد توخالی بود و یا در مسیر خروج CLK در بیرون وسیله یک مثلث قائیم زاویه بیرون زده بود در این حالت CLK عکس=قرینه چیزی است که من توضیح دادم و شما باید به جای لبه بالا روندهف لیبه پایین رونده را پیدا کنید و در واقع از یک تبدیل شدن به صفر CLK را کشف کنید. موفق باشید. hamishebahar19-11-2009, 05:10 PMسلام. نفهمیدم !!! یعنی متوجه نشدم. ممنونم حسن جوون از اطلاعاتی که دادی. بزار من کار این سخت افزارو بهت بگم تا شاید بهتر متوجه بشم. این سخت افزار یک نمودار رسم کرده و اونو به پرینتر میده و پرینتر اونو چاپ میکنه حالا ما میخوایم اونو به کامپیوتر متصل کنیم و اطلاعاتی که اون میفرسته رو دریافت کنیم. مشکل اینجاست که سخت افزار در دسترس من نیست و من میخوام یه برنامه بنویسم و بفرستم و اطلاعاتی که این سخت افزار به پورت ها میده رو دریافت کنم و ببینم با این بایتها چی کار میتونم بکنم. من الان نمیدونم که این سخت افزار به کدوم پین و به چه ترتیبی اطلاعات میفرسته تا من اونارو دریافت کنم. مثلاً از پین های D 0 تا D 7 اطلاعات رو به ترتیب بگیرم و ذخیره کنم.میخوام این اطلاعات رو دریافت کنم و در یک فایل ذخیره کنم.تنها مشکل من چگونگی دریافت اطلاعات هست.مثلاً اون چیزی که گفتین پین شماره چنده؟میتونم یه تایمر بزارم و موقعیت رو جویا بشم؟این اطلاعات با چه سرعتی فرستاده میشه؟اگه یک بایت جا بمونه چی؟ اگه یه مثال برام بزنی خیلی ممنونت میشم حسن جوون. موفق باشیدhttp://forum.p30world.com/images/New-smile/N_aggressive%20%2839%29.gifhttp://forum.p30world.com/images/New-smile/N_aggressive%20%2817%29.gif. _H2_20-11-2009, 12:21 AMسلام قائدتاً و طبق اصول و استاندارهای دیجیتالی درگاه های سنترونیکس (ارتباطات سریال استاندارهای متنوع تری دارد) وسیله شما حداقل حداقل باید بجز بیت های دیتای D 0~D 7 یک بیت CLK هم خروجی داشته باشد و به شما بدهد. ولی اینکه این بیت در کجای برد و سوکت و کدام سیم و چه رنگی و... باشد چیز استاندارد شده ای نست. ( یاد این فیلم های خالی بندی افتادم که همیشه بمب سازها رنگ سیم خاصی را برای کار خاصی میگذارد !!! رنگ سیم ها در الکترونکی و دیجیتال استاندارد خیلی خاص و مشخصی ندارد، فقط شاید سیم های مثبت و منفی اصلی رنگهای خاصی داشته باشند ) یعنی در نهایت باید هشت سیم D 0~D 7 و یک سیم CLK (و یک سیم اتصال زمین GND) به رایانه وصل شوند. لبه بالارونده (یا پایین رونده) پالس CLK رسیدن اطلاعات جدید را اطلاع میدهد. کدی شبیه این میتواند لبه بالارونده پالس CLK را کشف کند و اطلاعات جدید را بخواند: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ( مثلاً میتوانید D 0~D 7 وسیله را به شماره پین های 2 الی 9 درگاه LPT رایانه وصل کنید و CLK وسیله را هم به پین 10 در گاه LPT رایانه وصل کنید. ) این سخت افزار یک نمودار رسم کرده و اونو به پرینتر میده و پرینتر اونو چاپ میکنه یعنی یک سره و بدون رایانه به پرینتر های قدیمی (غیر USB) وصل میشود؟؟؟؟؟؟ این از جهاتی خیلی خوب و از جهاتی کمی بد است. اگر درست یادم مانده باشد، اطلاعات خیلی زیاد و کاملی در مورد همزمانی و نوع سیگنال و سرعت و زمانبندی و... اطلاعات این پرینترهای قدیمی را میتوانید در کتاب کم نظیر "مدارهای واسط" پیدا کنید. (این کتاب معروف رایانه ای-دیجیتالی در قطع معمولی و A 4 چاپ شده است) این اطلاعات با چه سرعتی فرستاده میشه؟ بستگی کامل به وسیله دارد و میتوانید از دفترچه و سایت و... متوجه شوید. ولی بعضاً میتوان از شماره IC های روی برد هم سرعت مدار رار حدس زد. مثلاً : - آی سی های قدیمی خانواده CMOSE که با فرمت اسمی 4XXX معمولاً حداکثر سرعتی تا 1MHZ دارند. - آی سی های قدیمی خانواده TTL با فرمت اسمی 74XX معمولاً حداکثر سرعتی تا 20MHZ دارند. - آی سی های خانواده LS و HC و HCT با فرمت 74LSXX و 74HCXX و 74HCTXX حداکثر سرعتی تا 40MHz دارند. - آی سی های خانواده AC و ACT با فرمت 74ACXX و 74ACTXX حداکثر سرعتی تا 100MHz دارند. - تراشه های خانواده ECL با فرمت 1XXX میتوانند بالای 100MHz هم کار کنند. (من خودم تا حالا از نزدیک ECL ای ندیده ام، اگر پیدا نمیشود) و... اگر هم مدار کریستالی داشته باشد (قطعه فلزی نقره ای کشیده) معمولاً و بالای 99/99 در صد مدارها فرکانس کلیه بخشهای دیگر از فرکانس درج شده روی کریستال کمتر است. (فقط مدارات خاصی مثل حلقه های فاز قفل شده PLL و... سفرکانس بالاتر از کریستال مرکزی دارند) اگر هم میکروپروسسوری داشته باشد باز فرکانس کاری میکروها مشخص است و معمولاً در حدود 10MHz است. (ولی از 1MHz تا 60MHz میشود) و... البته این اعداد حداکثر فرکانس کاری این قطعات است و معمولاً فرکانس ارسال و دریافت اطلاعات خیلی کمتر از این اعداد است. بهترین معیار دسترسی به دیتاشیت و دفترچه کارخانه سازنده است. ===== در اخر فراموش نکنید که اگر وسیله شما پیچیده است و خودش به ذات درایورهایی برای ویندوز و نصب در ویندوز و... داشته باشد، شما نباید خودتان در سطح پورت به این وسایل وصل شوید. salviashadbakht09-06-2010, 02:10 PMسلام آقاي H2 سوال در مورد اين تاپيك دارم مي تونم بپرسم hamishebahar09-06-2010, 07:22 PMسلام دوست من میتونید بپرسید سوالتونو. salviashadbakht10-06-2010, 06:13 PMسلام، یه برنامه نوشتم که اطلاعاتو از پین شماره 3 می خونه، دقیقا طبق روشی که بالا گفته شده(کلاک به پین 2 وصله و با فرکانس 1.2 Mbps) مشکلم اینجاست که نمی دونم این روش و اصولا دستور Inp اونقدر efficient هست که با این فرکانس داده ای رو از دست ندم.(خودم فکر می کنم همه داده ها دو نمی خونه برنامه) در ضمن برنامه رو تو C# نوشتم. سوال دیگه ام هم اینکه برای این کار اصولا کدوم مود lpt رو باید انتخاب کنم(epp،...) پیشاپیش ممنون از راهنماییتون _H2_22-06-2010, 09:09 PMسلام میبخشید نتوانستم زودتر جواب دهم ... مشکلم اینجاست که نمی دونم این روش و اصولا دستور Inp اونقدر efficient هست که با این فرکانس داده ای رو از دست ندم حداکثر فرکانس کار LPT را نمیدانم ولی اگر اشتباه نکنم و درست یادم باشد، سقف و نهایت EPP به فرکانس کار تراشه های TTL-LS میرسد، یعنی چیزی نزدیک 20Mhz که میشود حدود 2Mbps ... نتیجتاً نباید مشکلی وجود داشته باشد. سوال دیگه ام هم اینکه برای این کار اصولا کدوم مود lpt رو باید انتخاب کنم همانطور که گفتم مد EPP و ECP سرعت بیشتری را ساپورت میکنند ولی نمیدانم چطور باید بین مدها سوییچ کنید (اصلاً نیاز به سوییچ است یا پیش فرض ویندوز است) و یا اینکه که روند اگر سوییچ کنید نحوه کار کرد تغییری میکند یا خیر ... در این موارد اطلاعی ندارم. موفق باشید. salviashadbakht04-07-2010, 12:04 PMمشكل فركانس پورت پارالل نيست، ظاهرا تابع inpout32 خيلي كنده! روشي جايگزين كه سريع تر باشه مي شناسيد؟ اين سرعتش در حدود 100 كيلوبيت در ثانيه است!! _H2_11-07-2010, 12:06 PMسلام مشكل فركانس پورت پارالل نيست، ظاهرا تابع inpout32 خيلي كنده! روشي جايگزين كه سريع تر باشه مي شناسيد؟ اين سرعتش در حدود 100 كيلوبيت در ثانيه است!! عجیب است! پیشنهاد میکنم ارتباط با USB را تست کنید. تراشه هایی هم برای این کار عرضه شده اند که میتوانند با کمتر کار میکرو و سایر قطعات گسسته دیجیتالی شما را به پورت USB متصل کند. برای نمونه کد برنامه نویسی هم قبلاً در تاپیک دیگری چند نمونه گذاشته بودم. ولی در اکانت رایگان rapidshare.com بوده و حذف شده. اگر فکر میکنید فایده ای دارد، بفرمائید تا جیتجویی در فایلهایم انجام دهم و یافته و مجدد اپلودش کنم. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1516]