תכנות עם FTDI
הי,
מהשרשור שפורסם כאן לא ברור מה כן הצלחת ומה לא, אז אתן סקירה מהירה:
ניתן להוריד מהאתר של חברת FTDI דרייברים לשימוש עם הרכיבים שלהם.
עקררונית הם מציעים שתי אלטרנטיבות:
האחת להתקין דרייבר USB שמאפשר לכתוב תוכנה ישירות לערוץ הUSB (קצת מסובך למי שלא בעניינים)
השנייה להתקין Virtual Com Port או בקיצור VCP (יותר פשוט, כי אז אפשר להתייחס לרכיב כאילו היה ערוץ תקשורת טורית)
הערה: יש לשים לב שבהתקנת הדרייבר, תוכנת ההתקנה שואלת באיזה אופן אתה מעוניין להשתמש בדרייבר, כVCP או ישירות עם הUSB.
אם כן, המלצתי היא להשתמש בVCP וללמוד כיצד עובדים בשפת התכנות עם com port.
לאחר ההתקנה ועם חיבור הרכיב למחשב, אתה אמור לראות בdevice manager את הרכיב ושים לב לאיזה com port הוא הוקצה.
(לדוגמא: com3, com10 וכו')
כעת יש לבדוק איזה נתוני תקשורת דרושים לתקשורת עם הרכיב (לבדוק בדפי הנתונים של הרכיב). למשל קצב השידור: 9600, 19200 וכו'.
כעת לתכנות #C:
הכי פשוט זה לפתוח פרוייקט WinForm ולגרור פקד שנקרא SerialPort.
יש לשנות רק שני פרמטרים:
הbaud rate שזה קצב השידור.
שם הערוץ: (כפי שמוצג בdevice manager) למשל COM3
בטעינת הטופס למשל, יש לרשום למשל
serialPort1.Open();
ולעשות כפתור למשל שבתוכו לרשום למשל
SerialPort1.write("text");
או מערך של bytes.
לצורך דבאגינג יש אפשרות להתקין תוכנה לניטור ערוץ הUSB, למשל USBLYZER שבאמצעותה ניתן לראות אם מה ששלחת מהתוכנה זה מה שהתקבל ביציאה של ערוץ הUSB של הFTDI (זה שכיח מאוד שאתה חושב ששלחת מידע בפורמט מסויים אבל בפועל יצא משהו אחר. למשל שלחת אות אבל זה לא בפורמט אסקי אלא יוניקוד או ששלחת מידע שחשבת שהוא דצימלי אבל הוא הקסדצימלי וכו'.
כמובן שצריך לבדוק בדפי הנתונים של הרכיב מה מבנה הפקודות שהוא מצפה לקבל כדי לבצע את מה שאתה מעוניין שיבצע.
זהו, מיציתי.
שאלות, הערות? בכיף
אבי