یکشنبه سی و یکم شهریور 1387
نحوه استفاده از پورت پرینتر (LPT1) در زبان برنامه نویسی MATLAB:
از تابع daqhwinfo جهت یافتن اطلاعات آداپتور درایور پورت پرینتر موجود بر روی کامپیوترتان بصورت زیر استفاده نمایید:
>> daqhwinfo('parallel')
در اینصورت اطلاعات ی شبیه زیر را مشاهده خواهید کرد که نشانه موفقیت متلب در دستیابی به پورت می باشد.
ans =
AdaptorDllName: 'C:\MATLAB\toolbox\daq\daq\private\mwparallel.dll'
AdaptorDllVersion: 'Version 2.2 (R13) 28-Jun-2002'
AdaptorName: 'parallel'
BoardNames: {'PC
InstalledBoardIds: {'LPT1'}
ObjectConstructorName: {'' '' 'digitalio('parallel','LPT1')'}
برای استفاده از پورت پرینتر باید آنرا باز کنید:
DIO1 = digitalio('parallel','LPT1');
حال برای پورت ورودی خروجی تعریف شده باید پین های اتصال را مشخص کنید:
in_lines = addline(DIO1, 0:7, 0, 'in');
دستور فوق باعث می شود تا بتوانید از 8 پین دیتای پورت پرینتر اطلاعات بخوانید(پین ها بعنوان ورودی به کامپیوتر)
in_lines = addline(DIO1, 0:7, 0, 'out');
دستور فوق باعث می شود تا بتوانید به 8 پین دیتای پورت پرینتر اطلاعات ارسال نمایید. (پین ها بعنوان خروجی از کامپیوتر)

پورت پرینتر در کامپیوترها غالبا دارای 25 پایه می باشد که 8 پایه از آنها پایه ورود و خروج دیتا می باشد. ( البته این 8 پایه پورت پرینتر در اوایل فقط به عنوان خروجی بودند اما بعدها با وضع استانداردهای جدید این 8 پایه به عنوان پایه ورودی نیز می توانند عمل کنند. این استاندارد های جدید EPP , ECP نام دارند) . 4 پایه کنترلی ، 5 پایه وضعیت(status) و 8 پایه زمین می باشند. ولتاژ عملکرد پورت بر مبنای TTL یعنی 5 ولت می باشد.

برای دریافت اطلاعات از پورت از دستور getvalue استفاده می کنیم.
dat = getvalue)DIO1);
همچنین جهت قرار دادن اطلاعات بر روی پورت از دستور putvalue استفاده می کنیم.
putvalue(ِDIO1,[1 1 1 1 1 1 1 1]);
دستور فوق 8 پایه خروجی را به 1 ست می کند.
putvalue(DIO1.line(1),0);
دستور فوق مقدار 0 را در پایه 1 قرار می دهد.
در انتهای عملیات بهتر است پورت را ببندیم:
delete(DIO1)

نکته: امکان این وجود دارد که نتوانید از 8 پین دیتا، اطلاعات دریافت کنید که احتیاج به کمی دستکاری در Bios سیستم دارد. توضیحات کامل در مقاله بعدی خواهد آمد.


