انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: hasannoori در 24 امرداد 1386، 11:30 قظ
-
دوستان سوالی که مدت زیادی برام بی جواب مونده اینه که :
چطور میتونم با کدهای سی یا سی پلاس به پورتها دسترسی داشته باشم.
اطلاعات رو از یک پورت سریال یا یو اس بی بخونم و یا به اونها ارسال کنم؟
کسی نظری یا تجربه ای داره؟
-
من قبلا با دستورات اسمبلی این کار را در سی انجام داده بودم.
فکر کنم دستوری شبیه به این داشت...
out (port address),register name
با این دستور میشه روی یک پورت خروجی نوشت
مقدار رجیستر A را در پورت خروجی با اون آدرس مینویسه. آدرس پورتها در رفرنسهای اسمبلی موجوده
برای خواندن از یک پورت ورودی هم این دستور هست
in register name,(port address)
-
من قبلا با دستورات اسمبلی این کار را در سی انجام داده بودم.
فکر کنم دستوری شبیه به این داشت...
out (port address),register name
با این دستور میشه روی یک پورت خروجی نوشت
مقدار رجیستر A را در پورت خروجی با اون آدرس مینویسه. آدرس پورتها در رفرنسهای اسمبلی موجوده
برای خواندن از یک پورت ورودی هم این دستور هست
in register name,(port address)
متشکرم از کمکتون
ولی باید توضیح بیشتر بفرمایید چون من هنوز نتونستم با پورت ارتباط برقرار کنم.
usb یا serial.
کسی نظری یا تجربه ای نداره؟
-
تا جایی که من میدونم پورتها به شکل فایل هم قابل تعامل هستن. یه چیزهایی اینجا (http://en.wikibooks.org/wiki/Serial_Programming:Serial_Linux) و اینجا (http://libusb.sourceforge.net/doc) دیدم. امیدوارم به درد بخورن. ولی تا جایی که دیدم به زبان C هستن.
-
این روش که من گفتم با دستورات اسمبلی انجام میشه
یعنی داده های روی پورتها را بر اساس آدرس پورت ۸بیت ۸بیت می خونه و در یک رجیستر میریزه
بعدا فکر کنم با انتقال محتوای این ثبات به پشته بتونید داده ها را یه متغیرهای سی منتقل کنید.
البته کار پر دردسرسی هست! راههای ساده تری هم وجود داره ولی من بلد نیستم......
-
تو پایتون هم میشه مثل یه فایل باهاشتون رفتار کرد
-
تو پایتون هم میشه مثل یه فایل باهاشتون رفتار کرد
.من Python نمیدونم :'( اما اگر راهنمایی بیشتری بکنید ممنون میشم. ::)
-
دوستان کسی هست که تو لینوکس با سی یا پایتون با پورت سریال یا موازی ارتباط برقرار کرده باشه؟
یعنی بتونه یه مقداری رو از پورت بخونه و به یک متغییر نسبت بده و بلعکس؟
-
سایت pylearn.com رو ببینید