به نام خدا.

سلام.

من از وقتی که بورد خریدم خیلی دوست داشتم که بتونم بهش موس وصل کنم!

بالاخره بعد از چند وقت زیادی که ازش گذشت. دیروز به لطف و یاری خدا تونستم درستش کنم!

همش به خاطر توکل به خداست! شما هم اگه جایی گیر کردید از ته دلتون از خدا بخواید که در کار تون گشایش و آسونی قرار بده! کلا باید خدا رو بفهمیم و ازش بخوایم (واقعا بخوایم نه فقط با زبون بگیم) باید اینو بدونیم که همه کار ها به دست خداست! این قانون های طبیعت هم قانون هایی که خدا وضع کرده و با معجزاتی که از پیامبران دیدیم میفهمیم که این قانون ها دست خداست و هروقت خواست میتونه تغییر بده! در کل میگم حتما بهش فک کنید... :)

خوب کار سختی نیست

الان من دو تا لینک میدم!

این لینک صفحه دانلود هست!

اینم لینک فایل هست!

میتونید از لینک ورژن های مختلف این کتابخونه رو دانلود کنید! (قسمت Get the software ، توی همون جدوله سیاهه)

اگه سایت باز نشد از وبلاگ خودم دانلود کنید! (برای دانلود کلیک کنید)

خوب برید دانلودش کنید!  و برید توی پوشه library از اونجا وارد سه تا پوشه ها بشید و فایل پروژه کیل اونها رو اجرا کنید و کامپایل کنید! توجه کنید که برای میکروکنترلری که میخواید کامپایل کنید! به عکس زیر توجه کنید!

مثلا برای میکروکنترلر LPC1768 باید همون MCB1700 رو انتخاب کنید!

اگه همه رو هم کامپایل کردید مشکلی پیش نمیاد! (برای اطمینان خودتون میتونید هر کدوم رو انتخاب کنید و کامپایل کنید)

در نهایت بعد از انجام این کار برای سه پوشه LPCUSBLib و CDL و BSP شما باید برگردید و برید توی پوشه application و از اونجا وارد پوشه examples و LPCUSBlib بشید. اونجا همه مثال هایی که وجود داره میبینید!

هر کردوم که host هست یعنی میکرو مثل کامپیوتر یه ورودی میشه و مثلا کیبورد بهش وصل میشه ولی اگه نوشته بود Device یعنی میکرو مثل اون عمل میکنه! مثلا مثل موس عمل میکنه!

اگه دنبال مثال HOST موس میگردید که مثلا به میکروکنترلرتون موس وصل کنید باید بگم مثال آماده اش وجود نداره ولی شما میتونید با چند تا تغییر به راحتی بهش برسید!

اول از همه مثال HOST کیبورد رو باز کنید و کامپایل کنید! (مثل تصویر بالا میکروکنترلرتون رو انتخاب کنید) (اگه اروری نداد که هیچی ولی اگه ارور داد بخاطر اینه که فایل های که در قسمت قبل کامپایل کردیم مشکلی داره! مثلا کامپایل نشده و...)

خوب اگه تونستید حتما اجراش کنید و تست کنید! (با UART کار میکنه*)

خوب اگه درست کار کرد که خداروشکر!

حالا باید یه تغییراتی توی سورس همون کیبورد بدید تا به موس تبدیل بشه!

سایت زیر همین سوال پرسیده شده و جواب داده شده! خودمم از همین راه رفتم و خیلی راح جواب گرفتم!

https://www.lpcware.com/content/forum/usb-mouse-lpc1769-host

الان براتون میگم چه کار کنید!

1- توی همون مثال فایل KeyboardHost.c رو باز کنید!

2- به جای کد زیر 


USB_ClassInfo_HID_Host_t Keyboard_HID_Interface =
{
.Config =
{
.DataINPipeNumber       = 1,
.DataINPipeDoubleBank   = false,
.DataOUTPipeNumber      = 2,
.DataOUTPipeDoubleBank  = false,
.HIDInterfaceProtocol   = HID_CSCP_KeyboardBootProtocol,
},
};


کد پایین رو جایگزین کنید!

static USB_ClassInfo_HID_Host_t Keyboard_HID_Interface = {
    .Config = {
        .DataINPipeNumber       = 1,
        .DataINPipeDoubleBank   = false,
        .DataOUTPipeNumber      = 2,
        .DataOUTPipeDoubleBank  = false,
        .HIDInterfaceProtocol   = HID_CSCP_MouseBootProtocol,
        .PortNumber = 0,
    },
};

3- توی همون فایل در قسمت تابع void KeyboardHost_Task(void) به جای دو خط زیر ، دو خط پایین رو جایگزین کنید!

		USB_KeyboardReport_Data_t KeyboardReport;
HID_Host_ReceiveReport(&Keyboard_HID_Interface, &KeyboardReport);

دو خط پایین رو جایگزین کنید.

    USB_MouseReport_Data_t MouseReport;
    HID_Host_ReceiveReport(&Keyboard_HID_Interface, &MouseReport);

حالا برای گرفتن اطلاعات موس میتونید از کد های زیر استفاده کنید

MouseReport.Button

MouseReport.X

MouseReport.Y

یعنی میتونید مثلا LED رو روی MouseReport.Button ست کنید و هر وقت کلید میزنید اون LED روشن میشه!


فعلا

یا علی مدد...!