Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

USB HID библиотека
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=14493
Страница 1 от 1

Автор:  stoyanoff [ Чет Апр 07, 2016 2:58 pm ]
Заглавие:  USB HID библиотека

Здравейте! Мъча се вече няколко дни да подкарам комуникация м/у контролер и WIN. Заредих си простичка програмка на контролера:
Код:
   usb_task();
        if (usb_kbhit(USB_HID_ENDPOINT))
        {
            usb_get_packet(USB_HID_ENDPOINT, InBuffer, USB_CONFIG_HID_RX_SIZE);
            marker=1;
        }
   if (usb_enumerated() && marker==1)
   {
      OutBuffer="test respond";
      usb_put_packet(USB_HID_ENDPOINT, OutBuffer, USB_CONFIG_HID_TX_SIZE, USB_DTS_TOGGLE);
      marker=0;
   }
   restart_wdt();


Изтеглих си това: HidLibrary
Това, което установих до сега, е следното! Комуникацията ми върви само еднопосочно - ако искам само да приемам инфо или да пращам всичко е ОК. Но в примерът по-горе не се получава - когато трябва да пратя и да изчакам да получа информация. Друга особеност е, че трябва да затворя връзката на компютъра, за да изпратя данните към контролера.
Не знам дали изобщо използвам правилните библиотеки. На контролера използвам CCS HID library!
Ето класа, който си направих, на база библиотеката от github:
Прикачени файлове:
USBCOM.c [4.33 KiB]
263 пъти

Много е зацапан, но правих какви ли не промени!
Към момента, за да изпратя данни, трябва да направя следното:
Код:
            usbcom = new USBCOM();
            if (usbcom.OpenDevice())
            {
                usbcom.DeviceAttached += new EventHandler(powerMateManager_DeviceAttached);
                usbcom.DeviceRemoved += new EventHandler(powerMateManager_DeviceRemoved);
                usbcom.DataRecieved += new EventHandler(DataRecieved);
            }
            usbcom.WriteReport("data");
            usbcom.CloseDevice();//без това контролерът не получава нищо. Ако опитам веднага след това отново да отворя връзка пак нищо не получава...

Възможно ли е проблемът да е в програмата на контролера? Може ли някаква отправна точка, от която да започна да търся проблема? Въобще правилно ли съм се насочил към HID? Да не би това чудо да е еднопосочно? В примерите, който гледах за програма на контролера беше даден по подобен начин като в моята програма така че предполагам трябва да е двупосочна връзката...
Благодаря!

Автор:  valioman [ Чет Апр 07, 2016 4:26 pm ]
Заглавие:  Re: USB HID библиотека

Преди години когато се сблъсквах с HID тествах доста библиотеки и най безпроблемна излезе Атмелската ... прикачвам ти dll-a i cs класа който съм направил и ползвам .
Само че това е за 32bit-a така че ако ще я ползваш погледни дали няма нова вересия за 64 бита или просто компилирай програмката ти да е 32 бита

Прикачени файлове:
Коментар на файл: клас
HID.zip [24.09 KiB]
244 пъти

Автор:  stoyanoff [ Чет Апр 07, 2016 5:22 pm ]
Заглавие:  Re: USB HID библиотека

Много благодаря! Заемам се с нея на момента!

Автор:  stoyanoff [ Пет Апр 08, 2016 5:01 pm ]
Заглавие:  Re: USB HID библиотека

Това вече е друга работа! Работи отлично!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/