PDA

View Full Version : نحوه استفاده از پورت پارالل در c



behrooz&emad
چهارشنبه 18 آبان 1384, 21:13 عصر
سلام دوستان می خواستم بدانم که چطور می شود از پورت پارالل LED را روشن کرد

M.kavyani
پنج شنبه 19 آبان 1384, 00:39 صبح
با سلام



#include <conio.h> //Function used: outport(port,value),getch()
#include <stdio.h> //Function used: printf,scanf
#include <ctype.h> //Function used: toupper

void delay();

void main() /*Function Main*/
{
int k,n;

start:

clrscr();
printf("\nEnter Number Of LED Counts : ");
scanf("%d",&n);

for(k=0;k<n;k++)
{
outport(888,1); /*sets Pin1 of LPT1 to 1 :LED On*/
delay();
outport(888,0); /*sets Pin1 of LPT1 to 0 :LED Off*/
delay();
}

printf("\nDo You Want To Redo?(Y/N)");
if(toupper(getch())=='Y') goto start;
else printf("\n***THANK-YOU***");

}

void delay() /*Funtion to cause Delay*/
{
int i,j;


for(i=0;i<=2000;i++)
for(j=0;j<=2000;j++);
}

/*

End Of Program
امیدوارم طریقه نصب LED رو بدونی اگر ندانستی بگو تا عکسشو برات بذارم تو سایت
:لبخندساده
در پناه حق موفق باشید

mzjahromi
پنج شنبه 19 آبان 1384, 08:08 صبح
کدی که دوستمون نوشتن درسته. من یه کم خلاصه تر می گم
1- پایه مثبت LED رو وصل کن به پین 2
2-پایه منفی Led رو وصل کن به پین 18(البته یه مقاومت 100 بذار سر راهش)
3 برای روشن شدن بنویس


outport(0x378,1)

و برای خاموش شدن بنویس


outport(0x378,0)

mzjahromi
پنج شنبه 19 آبان 1384, 08:13 صبح
البته این در صورتیکه که آدرس 378 باشه تو اغلب کامپیوتر ها اینطوره ولی بعضی جاها فرق می کنه. البته آدرس پورت یه جائی تو حافظه نوشته الان یادم نیست اگه با مشکل برخورد کردی بگو تا برات پیدا کنم

mohsen_2005
سه شنبه 01 آذر 1384, 01:34 صبح
با تشکر از دوستان این کدها در سی جواب میدهد و در
visual c++
جواب نمیدهد
چیکار کنم در اون هم جواب بدهد.

mzjahromi
سه شنبه 01 آذر 1384, 08:40 صبح
ببین اگه ویندوزت XP هست بهت اجازه نمیده مستقیما به پورتها دست بزنی باید LPT رو با OpenFile باز کنی

seyedof
چهارشنبه 02 آذر 1384, 13:14 عصر
سلام
ویندوز NT و ۲۰۰۰ و XP (کلا خانواده NT) اجازه دسترسی به پورتها رو در سطح یوزر نمیدهند و باید براش درایور بنویسید. فقط توی ۹۵ و ۹۸ و ME میشه مستقیم دسترسی داشت. روش خوب دیگه که میتونید استفاده کنید و روی ۲۰۰۰ , XP هم کار میکنه و نسبتا هم ساده تره همونطور که آقای جهرمی گفتند باز کردن LPT1 دقیقا مانند یک فایل و نوشتن اطلاعات روی آن است.
ممنون علی

mohsen_2005
پنج شنبه 03 آذر 1384, 02:07 صبح
با تشکر از دوستان ولی منظورتون از اینکه مثل فایل باز کنم یعنی چه؟
اگه میشه قسمتی از کد را برام بنویسید>
با تشکر

mzjahromi
پنج شنبه 03 آذر 1384, 08:17 صبح
Lpt:= CreateFile('LPT1', Generic_Read Or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_N ORMAL,0);



if not WriteFile (LPT, s[1], Length(s), BytesWritten, Nil) then
showMessage('Can Not Write To Paralel Port')

.....

m_zi
چهارشنبه 19 اردیبهشت 1386, 10:32 صبح
سلام خسته نباشید
میشه راهنماییم کنید که چه جوری با پورتها در VB کار کنم
مرسی
منتظرم

mzjahromi
چهارشنبه 19 اردیبهشت 1386, 10:43 صبح
دوست عزیز سوالتون رو در بخش مربوط به خودش مطرح کنید. اینجا بخش C++ است

negarsoft
جمعه 07 تیر 1387, 05:23 صبح
Lpt:= CreateFile('LPT1', Generic_Read Or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_N ORMAL,0);



if not WriteFile (LPT, s[1], Length(s), BytesWritten, Nil) then
showMessage('Can Not Write To Paralel Port')

.....



سلام
من یکمی نفهمیدن یعنی اصلا"هیچی شو نفهمیدم(من برنامه نویسی زیاد بلد نیستم در این حد بلدم که در مواقعی که وقت کمه یک تابع بنویسم وسوالای ریاضی رو حل کنم ) یک کم بشتر توضیح بدین (زیر دیپلم بگید چون هنوز دیپلم نگرفتم!!!)