Welcome to  ROBOtic EQuipment فروشگاه روباتیک و قطعات الکترونیک ، خرید ، فروش :: سایت اطلاع رسانی روبوایکیو::
  Create an account اصلی سوالات پرسیده شده دانلود کاربر لینک  
تماس با مــــــــــــا

031 33385830
031 33385832

ساعــــت تمــاس
8  ----  19

لطفا فقط در ساعات
فوق تـــماس بگیرید

سامانه پیامـــــک
30007957952918







پشتیبانی آنلاین در یاهو
مسئول فروش


سبد خرید


سبد خرید خالی است

جست و جو

منوی اصلی
· خانه
· اطلاعات شخصی
· مدیریت
· خروج
· محصولات
· مقالات
· پرسش و پاسخ
· انتقادات و پیشنهادات
· تماس با ما
· راهنمای خرید
· جستجو

آمار بازدید

server monitor

Free PageRank Checker


برنامه نویسی سخت افزار به کمک ویژوال سی

(596 کلمه در این مقاله وجود دارد)
(19077 بار مطالعه شده است)   نسخه چاپی

یه مدت بود که دنبال این میگشتم که چطوری توی وی بی میشه با پورتها و سخت افزارهای دست ساز ارتباط برقرار کرد .بالاخره پیداش کردم و برای شما دوستان می زارمش اینجا !!

فقط باید ویژوال سی هم داشته باشید تا بتونید DLL مربوطه رو کامپایل کنید !





شاید تابحال خواسته باشید از طریق پورت پرینتر و یا پورت سریال یا باس 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
DESCRIPTION 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)

منبع: ایران ویج

  

[ بازگشت به برنامه نویسی | صفحه اصلی مقالات ]
 

جستجوی سریع

                                   

خرید موتور ربات

موتور پله ای

طراحی روبات

مدار ربات

 

 

سنسور روبات

ربات مسیریاب

ماژول فرستنده و گیرنده

فروش چرخ ربات

سنسور رنگ

مسابقات روباتیک

کیت ساخت ربات

خرید کتاب رباتیک

سنسور نوری  

سنسور آلتراسونيك

اموزش AVR

موتور dc

آموزش ساخت روبات

قیمت قطعات الکترونیکی

پروگرامر AVR

ماژول التراسونیک

قیمت سنسور 

مقاله الکترونیک 

 

 

فروشگاه قطعات الکترونیک و رباتیک - TW CMS