NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3292 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 10 از 10

موضوع: راه اندازی usb با کیل

  1. #1
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض راه اندازی usb با کیل

    سلام دوستان
    من از مثالهای بورد mcb1700 استفاده کردم و پروژه virtual com رو راه انداختم.
    همین طور که میدونید این مثال از کلاس cdc استفاده میکنه و پورت سریال رو تنظیم میکنه و البته یک درایور ویندوز هم داره.

    حالا سوال اینه که اگر بخوایم رابط های دیگه ای هم علاوه بر uart اضافه کنیم مثل spi و i2c باید کجاهای برنامه میکرو و درایور ویندوز تغییر کنه.
    یا مثلا virtual com نباشه بلکه رابط spi باشه. البته درایور ویندوز مهم نیست و میشه از lib usb استفاده کرد.
    ویرایش توسط esisafa : 20-03-2015 در ساعت 20:34

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    معمولا زمانی که یک دیواس قرار چند تا کار رو انجام بده از چند تا interface استفاده میکنه
    برای مثال شما الان از یک interface پورت کام مجازی استفاده کردید . حالا اگر قرار شد 2 تا کام مجازی داشته باشید 2 اینترفیس می سازید و host با دستور USB_SetInterface
    بهتون میگه دستورات بعدی و دیتاهای بعدی مربوط به کدوم اینترفیس هست.حالا به جای به کام دیگه میتونید از مثلا custom class در کنار یه cdc استفاده کنید.
    البته کد درایور باید مولتی اینترفیس رو پشتیبانی کنه

  4. تشکرها از این نوشته :


  5. #3
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    اصلا میشه فقط یک custom class راه اندازی کرد و درایور ویندوز هم یک وسیله بشناسه، و در داخل کدهای برنامه میکرو و کامپیوتر خودمون دستور بدیم که با کدوم رابطه کار کنه؟
    فکر کنم بهترین راه همین باشه.
    برای درایور ویندوز، libusb بهتره یا winusb که خود ماکروسافت نوشته؟
    ویرایش توسط esisafa : 21-03-2015 در ساعت 21:47

  6. #4
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    فکر خوبی هست.فقط باید یه ساختار مناسبی رو برای هماهنگ سازی بین میکرو و کامپیوتر بسازید که بعد گیر نکنید داخلش.
    من از winusb استفاده نکردم و اطلاعی ازش ندارم ولی libusb کار باهاش راحت هست و همچنین مولتی پلتفرم .

  7. تشکرها از این نوشته :


  8. #5
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    در کیل 5 یک پروژه usb با custom class درست کردم. چون طبق بررسیها دیدم که libusb با کلاسهای آماده کار نمیکنه بلکه با endpoint ها کار میکنه و با endpoint های custom class هماهنگ تره. اما پروژه به مشکل خورد و در فایل user دو تا define رو پیدا نمیکرد. مجبور شدم خودم هدری که اون define ها در اون تعریف شده بودن رو در این فایل اضافه کنم. کامپایل شد بالاخره اما نمیدونم کار میکنه یا نه و فعلا دسترسی به سخت افزار ندارم که امتحان کنم. به نظر شما به مشکل میخوره یا نه و این خطاها طبیعیه و باید خودمون درست کنیم؟

  9. #6
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    خسته شدم.
    مثال virtual com در هر دو نسخه keil4 و keil5 درست کار میکنه.
    مثال HID ی نسخه 4 درست کار میکنه ولی در 5 کار نمیکنه!!!!!!! منظور مثال های قدیمی و مثالهای softwar pack هست.
    مثالهای mcb1700 شرکت keil هست.
    چکار کنم؟؟؟؟؟
    ویرایش توسط esisafa : 24-03-2015 در ساعت 11:22

  10. #7
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    کسی هست از تمام مثالهای usb کیل 5.14 نتیجه گرفته باشه و بتونه usb شو راه اندازی کنه؟؟؟ لطفا بفرمایید چه نکاتی رو برای راه اندازی باید اجرا کرد.

  11. #8
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    اگر این ارور منظورت هست ایراد از خود ویزارد هست در غیر این صورت رو نمیدونم چه اروری بوده.
    ARM:5.10 USB custom class Error
    راستش الان نمیدونم مشکل شما چی هست ؟ چرا hid و cdc رو تست میکنید؟
    و چرا با کیل های مختلف بازی میکنید؟
    من الان برد اماده دم دستم نیست .

    به نظر من برای شروع این کار رو کنید:
    کاری که شما میخواید انجام بدید این طور که من فهمیدم اینه: میخواید از سمت کامپیوتر به میکرو فرمان بدید که اطلاعات رو به یکی از پریفرال ها بفرسته و بخونه.
    در اینجا شما فعلا بیا اطلاعات رو با cdc بفرست به میکرو .
    مثلا یه همچین ساختاری:
    کد:
    typedef struct 
    {
        unsigned long Sync;
        unsigned long command;
        unsigned long data;
    }Serial_SendData;
    میکرو دیتا رو به پریفرالی که از command گرفته ، میفرسته و نتیجه رو بر میگردونه به سمات کامپیوتر.
    حالا شما باز سمت کامپیوتر میتونی از از libusb استفاده کنی "که کار پیچیده تر میشه" و یا با پورت کام به راحتی ارتباط برقرار کنی.
    کدهای سمت کامپیوتر رو هم دارم اگر خواستی بگو تا برات بفرستم.

    این روش به نظرم برای مرحله اول کار رو سریع تر پیش می بره

  12. تشکرها از این نوشته :


  13. #9
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    ممنون
    نه این خطا نبود. فقط دو تا define رو پیدا نمیکنه که در فایل driver_usb.h هستن.
    در همین لینک های امضا قبلا با libusb کار کردم ولی keil مسخره بازی میکنه. خدا بیامرزه نویسنده برنامه avr usb که بدون وجود سخت افزار usb در avr mega اینقدر خوب کار میکنه.
    مسئله اینه که حتی مثال خودش اجرا نمیشه.
    برای شروع همین کاری که شما گفتید به نظر خوبه. یعنی از همون برنامه cdc شروع کنیم ولی کدهای خودمونو بفرستیم که به عنوان virtualcom نباشه و کار خودمونو انجام بده. ولی فکر کنم یکجایی به مشکل بخوره. مثلا شاید در روتین وقفه usart مشکل ایجاد بشه. حالا ببینیم چی میشه. بازم ممنون از وقتی که میزارید.
    یعنی دوستان دیگه با قسمت usb هیچ مشکلی قبلا نداشتن که راهنمایی کنن.

  14. #10
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    بالاخره custom class راه افتاد.
    بگم که مشکل از تنظیمات rtx بود و با تنظیم اون مطابق همون مثالی که کار میکرد، مشکل حل شد.

  15. تشکرها از این نوشته :

    mrm

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •