با سلام خدمت دوستان و سروران گرامی همونطور که اطلاع دارید پورت COM و پورت LPT دیگه به تاریخ پیوستند و روی مادربرد های جدید اثری از اون ها وجود نداره و این پورت ها جای خودشون رو به USB دادند اما با این کار افرادی مثل من رو بد بخت و آواره کردند . چون 90 درصد پروژه ها و طرح های من که من یک طرفش PC و طرفش دیگش میکرو AVR یا PIC است . قبل از این طرح هام رو روی سریال پورت طرح ریزی می کردم و برنامه رو ی PC رو با دلفی خیلی راحت می نوشتم اما بعد از اینکه این پورت روی لپ تاپ ها قحطی اومد روی اوردم به مبدل های FT232 و FT245 که ظاهرا خیلی خوب جواب می دادند و با برنامه ریزی EEPROM کناریشون میشه تا چند تا از این مبدل هارو به PC متصل کرد بدون اینکه با هم تداخل کنند و میشه برای هر کدوم اسم تعیین کرد و چون یک سریال پورت مجازی می سازند کار باهاشون خیلی راحته . خوب ماهم با این خیال واحی همه طرح های جدید قدیمی رو منطبق بر این آی سی ها کردیم و به کار خود ادامه دادیم اما مشکل :
- بدون هیچ دلیل موجهی در صورت بالا رفتن سرعت داده و حجم اون ازحالت configure خارج شده و com مجازی اون غیب شده و دوباره بر می گرده و این یعنی برنامه شما خیلی را حت هنگ میکنه (( نگید یک بار تست کرده ما حداقل روزی چدین دستگاه رو با این مبدل به فروش می رسونیم که این مبدل شده معزل زندگی ما )) :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:
- در صورتی موقع اتصال USB دیتا وارد آی سی بشه یعنی تا قبل از configure شدن کامل در ویندوز PC شما به نحوی هنگ میکنه که فقط با ریست درست میشه (( نگید پایه power en رو باید استفاده می کردی که تا قبل از configure شدن کامل صفر میمونه که این پایه دل خوشکونکی بیش نیست و یکی درمیون عمل میکنه و اصلا قابل اعتماد نیست )) :cry2: :cry2: :cry2: :cry2: :cry2: :cry2:
- کندی سرعت - شما هیچ وقت حتی در صورتی که از درایور D2XX_Functions_7.0 هم استفاده کنید به سرعت واقعی USB نمی رسید
من واقعا نمی دونم چکار باید کرد چون متاسفانه فعلا این دو آیسی تنها گزینه هستند
توی سایت مطالب جسته گریخته ای از ارتباط مستقیم AVR با USB پیدا کردم و تصمیم گرفتم تا این تاپینگ رو بزنم تا به کمک هم این مشکل رو برای همیشه حل کنیم و همه اعضا نیز از اون استفاده کنند
همان طور که میدونید یک طرف میکرو AVR ما ست که می بایست درایور USB برای اون نوشته بشه تا بتونه با USB ارتباط بر قرار کنه که با سرچ توی سایت متوجه چند روش شدم
1- استفاده از بیس AVR309 که دوستان زیاد از اون راضی نبودند و زبانش هم اسمبلی
هست هدف من این است که یک heder فایل تهیه کنیم اون هم در codevision تا با اضافه کردن اون بتونیم از usb اطلاعات دریافت و یا ارسال کنیم
2- استفاده از میکرو های مجهز به پورت usb مثل avrusb
3- استفاده از بیس usbcdc که خوشبختانه به زبان c نوشته شده اما winavr که من هیچ ازش خوشم نمی یاد ولی خوب چکار میشه کرد لازم باشه یادش میگیرم
اما اصل قضیه که شاید خیلی کمتر به اون توجه شده قسمتی است که باید روی pc و تحت زبان برنامه نویس شما در کامپپوتر قرار است انجام گیرد
برای avr309 خیلی خوب عمل شده و فایلی dll اون رو تحت یک مثال استفاده کرده و میشه متوجه شده که چکار باید کرد البته در زبان محبوب من یعنی دلفی :mrgreen: :mrgreen: :mrgreen:
اما برای usbcdc و میکرو هایی خودشون usb دارن مرجع کاملی وجود ندارد فقط میدونم که باید از فایل libusb0.dll استفاده بشه اما اینکه در دلفی چطور باید توابعش تعریف و استفاده بشن اطلاعات کاملی ندارم
در پایان از دوستانی که اطلاعاتی دارن تقاضا می کنم تا راهنمایی کنند و در پایان این تاپیک این فایل ها رو تحت یک کتابخانه برای avr و یک برنامه نمونه تحت PC و یک توضیح کامل تحت یک مقاله در سایت قرار بدهیم انشا ...
با تشکر و قدردانی از شما :nerd: :nerd: :nerd:
- بدون هیچ دلیل موجهی در صورت بالا رفتن سرعت داده و حجم اون ازحالت configure خارج شده و com مجازی اون غیب شده و دوباره بر می گرده و این یعنی برنامه شما خیلی را حت هنگ میکنه (( نگید یک بار تست کرده ما حداقل روزی چدین دستگاه رو با این مبدل به فروش می رسونیم که این مبدل شده معزل زندگی ما )) :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:
- در صورتی موقع اتصال USB دیتا وارد آی سی بشه یعنی تا قبل از configure شدن کامل در ویندوز PC شما به نحوی هنگ میکنه که فقط با ریست درست میشه (( نگید پایه power en رو باید استفاده می کردی که تا قبل از configure شدن کامل صفر میمونه که این پایه دل خوشکونکی بیش نیست و یکی درمیون عمل میکنه و اصلا قابل اعتماد نیست )) :cry2: :cry2: :cry2: :cry2: :cry2: :cry2:
- کندی سرعت - شما هیچ وقت حتی در صورتی که از درایور D2XX_Functions_7.0 هم استفاده کنید به سرعت واقعی USB نمی رسید
من واقعا نمی دونم چکار باید کرد چون متاسفانه فعلا این دو آیسی تنها گزینه هستند
توی سایت مطالب جسته گریخته ای از ارتباط مستقیم AVR با USB پیدا کردم و تصمیم گرفتم تا این تاپینگ رو بزنم تا به کمک هم این مشکل رو برای همیشه حل کنیم و همه اعضا نیز از اون استفاده کنند
همان طور که میدونید یک طرف میکرو AVR ما ست که می بایست درایور USB برای اون نوشته بشه تا بتونه با USB ارتباط بر قرار کنه که با سرچ توی سایت متوجه چند روش شدم
1- استفاده از بیس AVR309 که دوستان زیاد از اون راضی نبودند و زبانش هم اسمبلی
هست هدف من این است که یک heder فایل تهیه کنیم اون هم در codevision تا با اضافه کردن اون بتونیم از usb اطلاعات دریافت و یا ارسال کنیم
2- استفاده از میکرو های مجهز به پورت usb مثل avrusb
3- استفاده از بیس usbcdc که خوشبختانه به زبان c نوشته شده اما winavr که من هیچ ازش خوشم نمی یاد ولی خوب چکار میشه کرد لازم باشه یادش میگیرم
اما اصل قضیه که شاید خیلی کمتر به اون توجه شده قسمتی است که باید روی pc و تحت زبان برنامه نویس شما در کامپپوتر قرار است انجام گیرد
برای avr309 خیلی خوب عمل شده و فایلی dll اون رو تحت یک مثال استفاده کرده و میشه متوجه شده که چکار باید کرد البته در زبان محبوب من یعنی دلفی :mrgreen: :mrgreen: :mrgreen:
اما برای usbcdc و میکرو هایی خودشون usb دارن مرجع کاملی وجود ندارد فقط میدونم که باید از فایل libusb0.dll استفاده بشه اما اینکه در دلفی چطور باید توابعش تعریف و استفاده بشن اطلاعات کاملی ندارم
در پایان از دوستانی که اطلاعاتی دارن تقاضا می کنم تا راهنمایی کنند و در پایان این تاپیک این فایل ها رو تحت یک کتابخانه برای avr و یک برنامه نمونه تحت PC و یک توضیح کامل تحت یک مقاله در سایت قرار بدهیم انشا ...
با تشکر و قدردانی از شما :nerd: :nerd: :nerd:








دیدگاه