כללי:
אחרי שכל
החומרה ברורה לנו ואנו יודעים את רמות המתחים שהמחשב מקבל ומוציא, כיצד ניתן
דרך תוכנה להורות למחשב לשלוח להדק מסויים רמת מתח מסויימת או לבדוק על אחד מהדקי
הכניסה מה היא רמת המתח שהתקבלה?
הממשק
תוכנה לחומרה (דריבר):
ככלל Visual Basic
אינו יודע לפנות ישירות למיפתח. לכן אנו ניעזר בתוכנה חיצונית ל- Visual Basic
שמאפשרת גישה לממשק. לתוכנה זו קוראים DLL.
שאלה:
מה זה DLL?
תשובה: DLL
היא תוכנה המכילה אוסף של פונקציות מחשב שניכתבו על ידי צד שלישי ומאפשרות לשלב
אותם בתוכנות שאנו מפתחים. כלומר קובץ חיצוני ל- Visual Basic שישולב בו ודרכו ניתן יהיה לפנות אל המיפתח.
את ה- DLL ניתן למצוא כקובץ בשם port.dll
בכל אחד מהדוגמאות שניתן להוריד דרך האתר או בכתובת הבאה: http://home.t-online.de/home/B.Kainka
.
את הקובץ
יש להעתיק לתיקייה הבאה: c:\windows\system בכל
מחשב שמפעיל את המיפתח. אפשרות שניה היא להעתיק את הקובץ לאותה תיקייה שבה מופעל
קובץ ההרצה של התוכנה. אישית אני מעדיף את האפשרות השניה.
כתיבת
התוכנה ב- Visual Basic:
לפני כתיבת
השורה הראשונה במחשב יש להפנות את התוכנה לקובץ ה- DLL שלנו. הפניה זו מתבצעת דרך הוספת מודול
(Module) לחלון הפרויקט של ה- Visual Basic.
קובץ בשם Ports.bas
שאלה? מה זה מודול (Module)?
תשובה:
קובץ מודול מכיל רק קוד, ללא אלמנטים של טפסים או אירועים,
בקיצור הוא אוסף של שורות קוד הבנויות כפונקציות או שגרות הנקראות על ידי הטופס
(Form).
הוספת
קובץ מודול (Module):
הורד למחשב
שלך את קובץ המודול ומקם אותו בתיקיית העבודה בו נימצא גם קובץ ה- DLL שהזכרנו מקודם. לקובץ מודול
(Module) יש סיומת של Bas
לחץ על Project בתפריט
שניפתח בחר Add Module:
בחלון שניפתח
לחץ על לשונית Existing ובחר את הקובץ שהורדת מהאתר.
אשר את הבחירה
ותקבל מודול חדש כחלק מהפרויקט שלך ב- Visual Basic.
בתוך חלון
המודול לחץ לחיצה כפולה על המילה Module1 ותגלה את הקוד הבא:
Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "Port" ()
Declare Sub SENDBYTE Lib "Port" (ByVal b%)
Declare Function READBYTE Lib "Port" () As Integer
Declare Sub DTR Lib "Port" (ByVal b%)
Declare Sub RTS Lib "Port" (ByVal b%)
Declare Sub TXD Lib "Port" (ByVal b%)
Declare Function CTS Lib "Port" () As Integer
Declare Function DSR Lib "Port" () As Integer
Declare Function RI Lib "Port" () As Integer
Declare Function DCD Lib "Port" () As Integer
Declare Sub DELAY Lib "Port" (ByVal b%)
Declare Sub TIMEINIT Lib "Port" ()
Declare Sub TIMEINITUS Lib "Port" ()
Declare Function TIMEREAD Lib "Port" () As Long
Declare Function TIMEREADUS Lib "Port" () As Long
Declare Sub DELAYUS Lib "Port" (ByVal l As
Long)
Declare Sub REALTIME Lib "Port" (ByVal i
As Boolean)
קוד זה מגדיר
את שמות הפונקציות שכתובות בתוך קובץ ה- DLL ומאפשר לתוכנה שלך לגשת אל הפונקציות
הנ"ל ולהשתמש בהם כאילו היו חלק מהתוכנית שלך.
אוסף זה
של פונקציות (לשם הדיוק פונקציות ושגרות תוכנה) נכתב על ידי B.Kainka
ומאפשר שימוש חינם במודול.
להסבר
מפורט של כל אחת מהפונקציות גש לדף: עבודה עם פונקציות החיצוניות Port.dll
לסיכום:
ניתן
להוריד מהאתר קובץ בשם model.zip
שמכיל את כל מה שדרוש כדי להתחיל לכתוב את שורת הקוד הראשונה לתקשורת
עם המיפתח הטורי של המחשב. לתחילת עבודה הפעל את הקובץ IOtest.vbp
.
|