ست کردن PIC18F14k50 به عنوان usb device

من مثال‌ها رو خوندم ، سوال من تو چند بخش هستش در واقع ، نمیخوام صرفا کپی کنم از رو مثال
۱ - من چجوری میتونم usb descriptor و usb configurator رو تنظیم کنم تا بتونم میکرو رو به عنوان HID ست کنم ؟ جایی داکیومنت درست ندیدم که این structure ها چه property هایی دارن و چه value هایی هر property قبول میکنه ؟

سلام دوست عزیز، منظور از رنج پایین چی هست؟‌ الان متاسفانه به خاطر پدیده chip shortage در دنیا قیمت چیپ ها داره میره بالا و قیمت های میکروهایی که قبلا ۳۰ تومن بودن، الان ۱۳۰ تومن هستن. به هرحال من سری های stm32 رو پیشنهاد میکنم که قابلیت USB Device رو داشته باشن. قیمت مناسبی الان پیدا نمیشه و احتمالا حداقل بین ۱۵۰ تا ۲۰۰ تومن برای هر میکرو باید هزینه کنید.

🙏 mamnoon az shoma
shoma mitoonid to in link ba tavajoh be OS khodetoon in file haye framework va example ro download konid
[https://www.microchip.com/en-us/development-tools-tools-and-software/libraries-code-examples-and-more/microchip-libraries-for-applications](url)
pas joori ke shoma migid , kafie faghat ba tavajoh be documnt , usb typ ke be darde man mikhoore ro serfan biaram to project , khode library baram config ha ro anjam dade
hala man be in link ke shoma dadi negah mikonam , shoma ham in example ha ro lotfan bebinid , man badesh dobare soalamo matrah mikonam

میشه فایل لایبرری رو ارسال کنید؟

برای راه اندازی usb از چه کتابخانه ای استفاده می کنید؟ روی نحوه عملکرد usb و شناخت دقیق پروتکل اون چقدر تسلط دارید؟
کتابخانه ها رو می تونید با مطالعه فایل .h ببینید که چه توابعی وجود داره، کدوم برای استفاده کاربر نوشته شدن و چه داده هایی باید به این توابع پاس بدید.

ba salam , shoma lotfan mishe be man ye micro ba range gheymate paeen moarefi konid , ke bahash betoonam interrupt usb ro piadesazi konam , nemikham az method pulling estefade konam ke omre micro biad paeen.
soale ghabli man ham shoma pasokhi nadarid barash ?

در مورد usb در داکیومنت های keil اینها رو پیدا کردم که میتونه کمک کنه احتمالا:
[USB Concepts](https://www.keil.com/pack/doc/mw/USB/html/_u_s_b__concepts.html)
بعدش می تونید از منوی سمت چپ به زیر فصل ها برید که تا حد بیت ها توضیح داده که هر بیت به چه معنی هست :
[Device Descriptor](https://www.keil.com/pack/doc/mw/USB/html/_u_s_b__device__descriptor.html)
[Configuration Descriptor](https://www.keil.com/pack/doc/mw/USB/html/_u_s_b__configuration__descriptor.html)
[Interface Descriptor](https://www.keil.com/pack/doc/mw/USB/html/_u_s_b__interface__descriptor.html)
[Endpoint Descriptor](https://www.keil.com/pack/doc/mw/USB/html/_u_s_b__endpoint__descriptor.html)
کتابخانه ای که استفاده می کنید، باید این اطلاعات رو به نحوی برای شما پر کنه. حالا باید کد خود کتابخانه رو چک کنیم ببینیم که از چه توابع و متغیر ها و struct هایی استفاده کرده که این داده ها رو از شما بگیره. پیشنهاد می کنم فایل .h اصلی کتابخانه رو ببینید.

از کتابخانه usb که داخل خود فولدر example microchip هست ، میخوام استفاده کنم ولی تو خود سایت usb.org نتونستم داکیومنت خوب پیدا کنم در مورد اون موارد که گفتم ، صرفا میدونم که کلاس usb رو مثلا 0x01 ست کنم ، یعنی keyboard/mouse ولی بقیه parameter های اون دو تا structure که خدمتت گفتم چطور ؟ هندل کردن usb_event ها و غیره ...

سلام من میخوام PIC18F14k50 رو به عنوان usb device ست کنم و اطلاعات usb host رو لاگ کنم. ترجیحا اگه مثالی موجوده در MPLABX ممنون میشم برام بفرستین

سلام، نمونه کد هایی وجود داره که میکروهایی که از usb پشتیبانی می کنن رو به عنوان mouse یا keyboard به سیستم میشناسونه و شروع خوبی هستن برای کار کردن با usb ها. کلا اگر میکروی مد نظر شما یک peripheral به اسم usb host/usb device داره، می تونید اون رو به عنوان master و یا slave یک ارتباط usb ست کنید و معمولا الان برای همه میکرو ها مثال های راه اندازی قسمت های مختلفشون پیدا میشه. متاسفانه من با میکرویی که نام بردید کار نکردم و مثالی براش موجود ندارم. اینکه اطلاعات usb host رو می خواید لاگ بگیرید، منظورتون اینه که این میکرو هم در مد device و هم در مد host قراره کار کنه؟ برای لاگ نمی تونید از serial استفاده کنید؟