פונקציות לקלט ופלט בפורטים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

פונקציות לקלט ופלט בפורטים


xgamer

Recommended Posts

שלום לכם.

אני משתמש בעורך dev c++ ואני צריך להשתמש בפורטים.

התוכנה שלי מתחברת לחומרה חיצונית שמתחבר אל הפורטים במחשב.

מה הפונקציות? ואיך אני משתמש בהם, תודה רבה.

קישור לתוכן
שתף באתרים אחרים

באופן עקרוני, C לא מציעה פונקציות מסוג זה, שכן הם platform specific. לכל פלטפורמה יש בד"כ תוספות משלו לדברים כאלה.

כמו כן בהנחה שאתה משתמש ב-dev c++ ל- NT/2K/XP עם קומפיילר mingw gcc אז אתה בצרות, כיוון שלא ניתן באמת לגשת ל-port-ים אמיתיים תחת (לפחות לא בקלות). לדעתי תצטרך צירוף של dll/driver שיאפשר תקשורת עם ה-io ports.

באופן עקרוני הנה פונקציות inline assembler שאמורות לעבוד, אבל לדעתי רק תחת DOS ורק על x86:

unsigned inportb(unsigned port) {
unsigned char rv;
__asm__ __volatile__(
"inb %w1,%0"
: "=a"(rv)
: "d"(port));
return rv;
}
void outportb(unsigned port, unsigned val) {
__asm__ __volatile__(
"outb %b0,%w1"
:
: "a"(val), "d"(port));
}

אם היית עובד עם visual studio ב- 95, הייתי מציע לך להסתכל על קובץ conio.h

בהצלחה

קישור לתוכן
שתף באתרים אחרים

שכחתי לציין, זה ירוץ על WIN98 שלפי מה שהבנתי לא עושה בעיות.

לפני שנה בערך השתמשתי ב VC++ בבית הספר והפונקציות עבדו טוב מאוד.

השנה אני צריך לבנות תוכנה ובחרתי להשתמש בDEV CPP כי אין לי כח לחפש את ה VC++.

קישור לתוכן
שתף באתרים אחרים

אם ככה אז פונקציות אסמבלי סטנדרטיות יעבדו, וכל מה שצריך זה לדייק בסינטקס המסובך של ה-inline assembly של GCC. תנסה את אלה שהצעתי.

קישור לתוכן
שתף באתרים אחרים

בגדול dev-c++ זה רק IDE, והקומפיילר הוא GCC שהוא פורטבילי, ולכן קשה לי להאמין.

אתה יכול לברר פרטים על mingw שזה ההמרה של GCC ל-.

האסמבלר הוא יופי טופי במקרה זה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...