۱۳۸۸ شهریور ۱۸, چهارشنبه

Input Output

خب خیلی جاها من دیدم که گفتن نمیشه با ویژوال بیسیک ورودی خروجی هارو کنترل کرد.
در صورتی که این حرف کاملآ اشتباه هست. ویژوال بیسیک قابلیت کنترل مستقیم ورودی و خروجی هارو نداره.
امروز هم یه کار با پورت های پارالل رو براتون توزیح میدم.


کار با پورت های پارالل خیلی سادس. ولی اول باید فایل "InpOut32.dll" رو دانلود کنید.
حالا اون رو توی پوشه ی system32 کپی کنید. کار با این فال درست مثل کار با api ها هست.
البته اگربا qbasic (داداش visual basic)برنامه نویسی میکنید نیازی به این کارا ندارین.


Declare Sub vbOut Lib "WIN95IO.DLL" (ByVal nPort As Integer, ByVal nData As
Integer)

Declare Sub vbOutw Lib "WIN95IO.DLL" (ByVal nPort As Integer, ByVal nData As Integer)

Declare Function vbInp Lib "WIN95IO.DLL" (ByVal nPort As Integer) As Integer

Declare Function vbInpw Lib "WIN95IO.DLL" (ByVal nPort As Integer) As Integer

البته ممکنه فایلی که شما دانلود میکنید یه فایل دیگه باشه ولی نگران نباشید کار میکنه.
و حتمآ راهنما هم داره.(کد های بالا میره تو ماژول)
خب حالا به عکس بالا نیگا کنید.
ما فقط با خروجی ها کار داریم.که پورت های زرد همه خروجی هستن.
تا جایی هم که من خوندم پورت های 18 تا 25 باید منفی باشن که من چیز دیگه ای دیدم.
من فرض میکنم شما تسلط کامل بر محاسبات دودویی (binary) دارید.(اگر ندارید حتمآ یاد بگیرید)
این عدد رو هم حفظ کنید      888
شما به صورت زیر عمل میکنید.
vbout  888,number
888 رو همیشه برای کار با خروجی ها مینویسیم
number هم همون مقدار باینری هستش که ما باید اون رو یه دسیمال تبدیل کنیم و بعد اون رو بنویسیم.
از اونجایی که ما 8 تا خروجی داریم عدد 00000001 یعنی خروجی اول رو روشن کن.
و به ترتیب 00000011 و 00000111 و .......

ولی همونطور که گفتم  باید تبدیل بشه به عدد در مبنای 10 (decimal)
برای مثال کد زیر خروجی اول رو روشن میکنه
vbout 888,1
ففط هواستون باشه که روشن کردن یک پورت یعنی 5 ولت برق و خاموش کردن یک پورت یعنی 0 ولت برق
برای اطلاعات بیشتر به این سایت مراجعه کنید.

هیچ نظری موجود نیست:

Input Output

خب خیلی جاها من دیدم که گفتن نمیشه با ویژوال بیسیک ورودی خروجی هارو کنترل کرد. در صورتی که این حرف کاملآ اشتباه هست. ویژوال بیسیک قابلیت کنت...