אוסף הפונקציות והשגרות של Port.Dll

קובץ DLL זה הורד מהאתר של B.Kainka בכתובת הבא:

http://home.t-online.de/home/B.Kainka .

כמו כן הוא מופיעה באתר של חברת אלקטור בכתובת

http://www.elektor-electronics.co.uk/

וניתן לשימוש פרטי חינם.

כמו כן מצאתי באינטרנט עוד 2 קבצי DLL דומים בתפקוד שלהם ומשמשים בתקשורת עם המפתחים השונים של המחשב.

באתר של חברת zealsoft המכיל קובץ Port.dll המסוגל לעבוד על חלונות 2000 ו- XP בכתובת:
 http://www.zealsoft.com/ntport/index.html

באתר http://neil.fraser.name/software/lpt/ ניתן למצוא דוגמה של Neil Fraser  לשימוש נוסף ב- DLL ייחודי.

כדי לפשט את הבנת בעניין לקחתי את פרויקט מספר 3 במפתח המקבילי שהוא "הרכבת מספר היציאות של המפתח תוך שימוש באוגר הזזה" וכתבתי אותו מתאים לכל אחד מקבצי ה- DLL השונים:

שם ה- DLL

מקור

להורדת הדוגמה

INPOUT32.DLL

Neil Fraser

INPOUT32.zip

Port.dll

B.Kainka ואלקטור

LptSiriaOut.zip

vbio32.dll

zealsoft

vbio32.zip

חשוב!

כל הפונקציות הנ"ל מתייחסות לקובץ Port.dll של B.Kainka וחברת אלקטור

שמות כל הפונקציות רשומות באותיות גדולות.

חלק מהפונקציות לא עובדות תחת WindowsNT,2000,XP.

את הקובץ יש להעתיק לתיקייה הבא: c:\windows\system  בכל מחשב שמפעיל את המפתח. אפשרות שניה להעתיק את הקובץ לאותה תיקייה שבה מופעל קובץ ההרצה של התוכנה. אישית אני מעדיף את האפשרות השניה.



פונקציות להתקשרות עם המפתח המקבילי LPT:

(הפונקציות לא עובדות תחת WindowsNT,2000,XP).

INPORT   

מקבלת משתנה של כתובת בין (0-65535).

הפונקציה קוראת את מצב האוגר בכתובת שהתקבלה.

הערך המוחזר מהפונקציה הוא משתנה בגודל (byte) המכיל את תוכן האוגר.

הכרזת הפונקציה במודול:

Declare Function INPORT Lib "Port" (ByVal p%) As Integer

OUTPORT         

מקבלת משתנה של כתובת בין (0-65535) ומספר בין (0-255).

הפונקציה מוציא מידע למפתח.

אין לה ערך מוחזר.

הכרזת הפונקציה במודול:

Declare Sub OUTPORT Lib "Port" (ByVal A%, ByVal b%)



פונקציות להתקשרות עם המפתח הטורי COM:

(הפונקציות עובדות תחת WindowsNT,2000,XP).

OPENCOM

מקבלת משתנה מסוג מחרוזת הכוללת את הגדרות המפתח כמו:

עבור :Windows 95/98 

OPENCOM  "COM2,19200,N,8,1"

עבור Windows 95/98/NT:

OPENCOM  "COM2: baud=19200 data=8 parity=N stop=1"

הפונקציה פותחת את המפתח

הפונקציה מחזירה ערך '0' אם יש תקלה בפתיחת המפתח.

הכרזת הפונקציה במודול:

Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer

CLOSECOM

הפונקציה לא מקבלת כלום

הפונקציה סוגרת את המפתח

הפונקציה לא מחזירה כלום

הכרזת הפונקציה במודול:

Declare Sub CLOSECOM Lib "Port" ()

READBYTE

הפונקציה לא מקבלת כלום

הפונקציה קוראת את מצב המפתח כמילה(המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה מחזירה '-1' כאשר יש שגיאה או את המילה.

הכרזת הפונקציה במודול:

Declare Function READBYTE Lib "Port" () As Integer

SENDBYTE

הפונקציה מקבלת בית בין (0-255)

הפונקציה שולחת למפתח מילה(המפתח חייב להיות פתוח על ידי הפונקציה

הפונקציה לא מחזירה כלום

הכרזת הפונקציה במודול:

Declare Sub SENDBYTE Lib "Port" (ByVal b%)

DSR 

הפונקציה לא מקבלת כלום

הפונקציה קוראת את מצב הדק DSR (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה מחזירה '1' או '0' בהתאם למצב ההדק.

הכרזת הפונקציה במודול:

Declare Sub RTS Lib "Port" (ByVal b%)

CTS

הפונקציה לא מקבלת כלום

הפונקציה קוראת את מצב הדק CTS (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה מחזירה '1' או '0' בהתאם למצב ההדק.

הכרזת הפונקציה במודול:

Declare Function CTS Lib "Port" () As Integer

RI

הפונקציה לא מקבלת כלום

הפונקציה קוראת את מצב הדק RI (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה מחזירה '1' או '0' בהתאם למצב ההדק.

הכרזת הפונקציה במודול:

Declare Function RI Lib "Port" () As Integer

DCD

הפונקציה לא מקבלת כלום

הפונקציה קוראת את מצב הדק DCD (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה מחזירה '1' או '0' בהתאם למצב ההדק.

הכרזת הפונקציה במודול:

Declare Function DCD Lib "Port" () As Integer

RTS

הפונקציה מקבלת '1' או '0'

הפונקציה משנה את מצב הדק RTS בהתאם לערכים שהיא מקבלת (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה לא מחזירה כלום

הכרזת הפונקציה במודול:

Declare Sub RTS Lib "Port" (ByVal b%)

TXD 

הפונקציה מקבלת '1' או '0'

הפונקציה משנה את מצב הדק TXD בהתאם לערכים שהיא מקבלת (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה לא מחזירה כלום

הכרזת הפונקציה במודול:

Declare Sub TXD Lib "Port" (ByVal b%)

DTR

הפונקציה מקבלת '1' או '0'

הפונקציה משנה את מצב הדק DTR בהתאם לערכים שהיא מקבלת (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

הפונקציה לא מחזירה כלום

הכרזת הפונקציה במודול:

Declare Sub DTR Lib "Port" (ByVal b%)

TIMEOUT

הפונקציה מקבלת זמן milli seconds

הפונקציה קובעת את זמן ההמתנה המקסימלי למפתח הטורי (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).

אם אי תשובה מהמפתח הטורי על לאותו זמן הערך המוחזר יהיה '-1'

הכרזת הפונקציה במודול:

Declare Sub TIMEOUT Lib "Port" (ByVal Value%)



פונקציות לניהול זמן.

DELAY

הפונקציה מקבלת זמן ב- milli seconds

הפונקציה משהה את פעולת המחשב למשך הזמן הנקלט.

הפונקציה לא מחזירה כלום.

הכרזת הפונקציה במודול:

Declare Sub DELAY Lib "Port" (ByVal b%)

DELAYUS

הפונקציה מקבלת זמן ב- micro seconds

הפונקציה משהה את פעולת המחשב למשך הזמן הנקלט.

הפונקציה לא מחזירה כלום.

הכרזת הפונקציה במודול:

Declare Sub DELAYUS Lib "Port" (ByVal l As Long)

TIMEINIT

הפונקציה לא מקבלת כלום.

הפונקציה מאפסת את מונה הזמן ה- milli seconds.

הפונקציה לא מחזירה כלום.

הכרזת הפונקציה במודול:

Declare Sub TIMEINIT Lib "Port" ()

TIMEREAD

הפונקציה לא מקבלת כלום.

הפונקציה קוראת את הזמן זמן ה- milli seconds שעבר מאז הפעלת הפונקציה TIMEINT.

הפונקציה מחזירה את הזמן שעבר ב- milli seconds

הכרזת הפונקציה במודול:

Declare Function TIMEREAD Lib "Port" () As Long

TIMEINITUS

הפונקציה לא מקבלת כלום.

הפונקציה מאפסת את מונה הזמן ה- micro seconds.

הפונקציה לא מחזירה כלום.

הכרזת הפונקציה במודול:

Declare Sub TIMEINITUS Lib "Port" ()

TIMEREADUS

הפונקציה לא מקבלת כלום.

הפונקציה קוראת את הזמן זמן ה- micro seconds שעבר מאז הפעלת הפונקציה TIMEINTUS.

הפונקציה מחזירה את הזמן שעבר ב- micro seconds

הכרזת הפונקציה במודול:

Declare Function TIMEREADUS Lib "Port" () As Long

REALTIME

הפונקציה מקבלת את הערכים  '0' או  '1'

הפונקציה מעלה את התוכנה לרמה גבוהה של עדיפות במעבד של המחשב. הפונקציה טובה למצבים של עבודה עם זמנים מדויקים או קרטיים. יש להשתמש בפונקציה זו רק ליפני הפעלת קוצב הזמן ולהפסיק מיד בסוף קריאת הזמן כי בזמן זה שאר תוכניות המחשב יעבדו לאט מאוד.

הפונקציה לא מחזירה כלום.

הכרזת הפונקציה במודול:

Declare Sub REALTIME Lib "Port" (ByVal i As Boolean)


הרמן גדי , מורה לאלקטרוניקה ומחשבים - אורט מגדל העמק Herman Gadi © 2003