علم و دانش
کار با پورت ها در Visual.B

 
شاید تابحال خواسته باشید از طریق پورت پرینتر و یا پورت سریال یا باس ISA با سخت افزاری که خودتان ساخته اید ارتباط برقرار کنید . برای این کار شما نیاز به برنامه ای دارید که بوسیله دستورات I/O با سخت افزار شما ارتباط برقرار کند . چون ویژوال بیسیک دارای دستورات کار با پورتهای I/O نیست بایستی توسط ویژوال سی یک Dll برای کار با این پورتها بسازیم و تو وی بی فایل کامپایل شده رو به طور مشابه توابع آی پی آی به کار بگیرید.


DLL و کاربردهای آن :

اگر شما در DOS برنامه نویسی کرده باشید با دستورات INPUT و OUPUT در زبان QuickBasic و با دستورات inp و outp در C آشنا هستید . این توابع در VB پیاده سازی نشده اند . این توابع برای سازندگان سخت افزار برای PC و نیز برنامه نویسان سیستم حیاتی هستند زیرا به شما اجازه خواندن از پورت و نوشتن به پورت را می دهند . برای ایجاد امکان استفاده ار پورت در VB باید از Dll یا کتابخانه های دینامیک استفاده کنیم . Dll ها به VB اجازه می دهند تا یک کد نوشته شده به یک زبان دیگر را در زمان اجرا ( بطور دینامیک ) به برنامه لینک شود . چون ویژوال سی دارای توابع خواندن و نوشتن پورت است بنابراین ما از این زبان برای ساخت Dll موردنظر استفاده می کنیم .
نوشتن DLL در VC
برای ساخت Dll ما بایستی دو فایل را ایجاد کنیم . اولین فایل یک فایل define یا DEF است و دومین فایل ، یک فایل C++ source یا CPP می باشد . هر دو فایل را می توانید توسط Notepad ایجاد کنید . لیست کد این دو فایل بصورت زیر است :
پس از نوشتن این دو فایل آنها را در یک دایرکتوری قرار دهید ( مثلاً C:port ) و سپس وارد محیط ویژوال سی شوید . از منوی File مورد New را انتخاب کنید و در کادری که ظاهر می شود در قسمت Projects مورد Win32 Dynamic-Link Library را انتخاب کنید . همچنین در سمت راست همان صفحه در کادر Project name عبارت port را وارد کنید و در کادر Location عبارت C:portport را وارد کنید و آنگاه OK را کلیک کنید .



Port.def file :

LIBRARY Port
DEION DLL FOR I/O PORT
EXPORTS
Outp @1
Inp @2


Port.cpp file :

include "conio.h"x#
short _stdcall Outp(int PortAddress,int PortData){
short Dummy;
Dummy=(short)(_outp(PortAddress,PortData));
return(Dummy);
;}
short _stdcall Inp(int PortAddress)
{
short PortData;
PortData=(short)(_inp(PortAddress));
return(PortData);
;}


در مرحله بعدی بایستی فایل های def و cpp را به workspace ایجاد شده اضافه کنیم . برای اینکار در برگه FileView روی عبارت Port files کلیک راست کرده و مورد Add Files to Project را انتخاب کنید .




در کادری که ظاهر می شود فایل port.cpp را انتخاب کنید . با همین روش فایل port.def را نیز به پروژه اضافه نمائید .
حال وارد منوی Build شده مورد Build port.dll را انتخاب کنید تا dll مورد نظر ساخته شود .




dll ساخته شده را در دایرکتوری system ویندوزتان کپی کنید .
استفاده از Dll در ویژوال بیسیک
برای استفاده از توابع dll ساخته شده باید ابتدا توابع Out و In را declare کنید :

Private Declare Function Outp Lib "port.dll" (Byval PortAddress as Integer,Byval PortData as Integer) as Integer
Private Declare Function Inp Lib "port.dll" (Byval PortAddress as Integer) as Integer

حال در برنامه تان برای نوشتن به یک پورت از دستور زیر استفاده کنید :



Dummy=Outp(port_number,data)
و برای خواندن از پورت از دستور زیر استفاده کنید :

Portvalue=Inp(port_number)

+ نوشته شده در  دوشنبه پانزدهم بهمن 1386ساعت 2:52  توسط بهنام زینالی  |  < type=text/java>GetBC(4);

http://gorooh.parsiblog.com/PhotoAlbum/dars2/10e9328c176de902f34269074578f82d.gif

  نوشته شده در روز دوشنبه 88/1/24  ، تعداد


مطالب طلایی - کلیک کنید

آمــار سایت

بازدیــــد امـــــروز : 24
بازدیــــــــد دیـــــــــروز : 57
بازدیـــــــــد کــــــــــل : 867257
تعـــــداد یادداشت هـــــــا : 2732
منوی اصلی

صفحـه اول سایـت

تحقیق هــای قابل ویــرایش

پاورپوینت هـای آموزشـی و درسی

طرح درس هـای برتر معلمان

نظرات و پیشنهادات

فهرست موضوعی یادداشت ها

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

پاورپوینت درس 17 فارسی پایه یازدهم: خاموشی دریا
پاورپوینت درس 16 فارسی پایه یازدهم: قصه عینکم
دانلود پاورپوینت جنگ تحمیلی رژیم بعثی حاکم بر عراق علیه ایران در
دانلود پاورپوینت آرمان ها و دستاوردهای انقلاب اسلامی درس 25 تاری
پاورپوینت درس 9 فارسی پایه یازدهم: ذوق لطیف
پاورپوینت درس 8 فارسی پایه یازدهم: در کوی عاشقان
پاورپوینت درس 7 فارسی پایه یازدهم: باران محبت
پاورپوینت درس 6 فارسی پایه یازدهم: پرورده عشق
پاورپوینت علوم پنجم، درس11: بکارید و بخورید
پاورپوینت علوم سوم، درس4: اندازه گیری مواد
پاورپوینت درس 7 فارسی پایه اول دبستان
طرح درس و روش تدریس ریاضی ششم، فصل1: یادآوری عددنویسی
پاورپوینت نکات و سوالات هدیه های آسمان دوم، درس10: خانوادهی مهرب
دانلود طرح درس خوانا قرآن پایه ششم درس آب و آبادانی
طرح درس و روش تدریس ریاضی اول، تم 21: مهارت جمع چند عدد، ساعت و
[همه عناوین(2651)][عناوین آرشیوشده]

http://www.parsiblog.com/PhotoAlbum/riazi/6af5e218c7b634c3d7afd741834f59d2.jpg