Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Първо, няколко общи думи за пакет (библиотека) AVR USB на (преименуван на V-USB) на цел за развитие и Libusb библиотеката.

AVR USB (V-USB) - пакет, съдържащ библиотека рутинни (и примери за използването му), който позволява използване на микроконтролер семейства на AVR (prizvoditel Atmel), за да ниска скорост (ниска скорост стандарт USB 1.0.) USB устройство. В тези устройства, на USB протокола се прилага в областта на софтуера - в фърмуер, пришита в микроконтролера. Освен това, AVR-USB пакет съдържа например програма домакин (компютър, към който USB устройство с достъп), която реализира обмен на данни с USB устройства, разработени. V-USB библиотека, разработена от Цел развитие и е на разположение безплатно, както и за търговска употреба (в зависимост от избрания лиценз).

Програма за домакин използва, от своя страна, друга библиотека - Libusb [13]. За простота наричаме програмата шие терминът микроконтролер фърмуера. и програмите, които се изпълняват на вашия компютър и да комуникират с USB устройства, разработени от нас - от гледна точка на хост. Така че процесът на работа с пакет AVR-USB (V-USB) и Libusb библиотека по стъпка Windows платформа по стъпка.

За съставянето на фърмуера и софтуера се нуждаят от специални домакин софтуерни пакети, инсталирането и използването се разглеждат по-долу.

В резултат на това в текущата папка се main.hex файл. който е на фърмуера за микроконтролер. Ако сте свързали програмист avrdude (Makefile конфигуриран за него), програмирането на кристала просто напишете направи програма.

7. Сега за софтуера на домакина. За да я компилирате имаме нужда gcc.exe. който е част от MinGW пакет (където, за да изтеглите. - виж линка). MinGW пакет - набор от пренасяния от командния ред помощните програми за Unix. Свалих MinGW-5.1.4.exe, размерът на файла на 140,095 байта. Това е трудна инсталатор, че при инсталиране на изтеглянето от интернет всичко, което трябва. Когато стартирате, ще бъдете подканени, изберете "Изтеглете и инсталирайте" или "Само изтегляне", изберете "Изтеглете и инсталирайте". На следващо място, питам кой пакет за инсталиране - Предишен, тока или кандидат. Изборът, което се предлага по подразбиране - в момента. По-нататъшни проучвания, за да изберете компонентите, които се инсталират. По подразбиране, се предлага само "MinGW базови инструменти", но аз съм поставете отметка в никакъв случай на "гр ++ компилатор". Направи полезност не сте избрали, защото имам вече работи (ръкоположен пакет WINAVR). Следваща помолени да изберете инсталационната папка - C: \ MinGW, се съгласява. Следваща помолени да изберете място за прекия път, а след това на процеса на изтегляне ще започне. Georgia имам за дълго време, за около един час, при скорост от около 22 Kbytes / сек (по данни на монтажника). Заредени всички текущата папка, където тече MinGW-5.1.4.exe. След като инсталирате gcc.exe е в C: \ MinGW \ бин \, но по този начин променливата Path не е регистриран, трябва да добавите ръчно (да се надяваме да не се наложи да обясни как?).

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Ще опиша по-подробно инсталирането на драйверите, защото понякога потребителите на библиотеката има проблеми с него, особено когато те се свързват новия USB-устройството към компютъра с други VID и PID (дори и да е Libusb библиотека е инсталирана по-рано). Проблемът е, че новият USB устройство (с ново VID и PID) изисква нов т.нар филтър шофьор (филтър водач). По време на инсталацията Libusb-win32-раз-филтър-X.X.X.X просто ще бъдете подканени да инсталирате филтър шофьор за всички USB устройства, открити, и вашата задача е да изберете устройството, което искате, и да зададете на водача филтър върху него. Така че, ние изтеглите Libusb-win32-раз-филтър, като Libusb-win32-раз-филтър-1.2.2.0.exe, и се изпълнява. Потвърждение бърз старт (ако не можете да потвърдите издателя), кликнете върху бутона "Run":

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

На инсталационния помощник е добре дошъл LibUSB-Win32 библиотека глупаво кликнете Next:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

По искане на потвърждение за приемане на лиценза, изберете обичайните "Приемам споразумението" и кликнете Next:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

На прозореца "важна информация" глупаво кликнете Next:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

След това предложи да се промени пътя и името на папката, в която да се инсталира библиотеката. Нищо не трябва да се променя, глупаво щракне Next:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

След това предложи да се промени пътя и името на папката, в която да се поставят етикети. Нищо не трябва да се променя, глупаво кликнете Next:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Инсталацията е завършена LibUSB библиотека. Ако оставите отметката "Launch филтър инсталатор магьосник" и кликнете върху бутона Finish, съветникът ще започне инсталирането на филтърна шофьор на точка от USB-устройство. Това е важна стъпка, която реших да направя отделен раздел 8а.

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Сега обикновено са съставени примери на командния ред на приемащата предназначени за ССЗ. Ако компилирането е грешка, че е възможно, че имате в папка C: \ Program Files \ LibUSB-Win32 \ липсва папки включват и неограничено. Можете да изтеглите директория настроен LibUSB-Win32 изцяло чрез препратка [9].

8а. Инсталиране на драйвера филтър. Както споменах, програмата домакин софтуер, написан с помощта Libusb библиотека, върху платформата Windows, за да общуват с USB устройства, чрез така наречения филтър водача. Ако водачът е филтър USB-устройство не е инсталиран, когато се опитате да получите достъп до USB-устройство, можете да получавате съобщения от рода на "Не можах да намеря USB устройство" hardctrl-HID "с клип = 0x16c0 PID = 0x5df" (в този пример показва параметрите "hardctrl- HID ", клип = 0x16c0, PID = 0x5df, попита usbconfig.h файл, USB_CFG_DEVICE_NAME макроси, USB_CFG_VENDOR_ID, USB_CFG_DEVICE_ID съответно). Проблемът продължава да инсталирате филтър драйвер на устройството. Wizard монтаж на филтър шофьор се изпълнява в процеса на инсталация Libusb библиотека (процеса, описан в предишната стъпка), но можете да стартирате драйвера на съветника филтър (Wizard филтър) и отделно от менюто на програмата старт:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

След стартиране на филтъра ще се появи прозорец, в който можете да изберете необходимите действия - инсталира филтър шофьор на USB-устройство, извадете предварително инсталирана на драйвера на филтър USB-устройство, премахнете всички инсталирани филтри шофьорите от всички USB-устройства. В случай на проблеми, свързани с достъпа до USB-устройство, трябва да инсталирате драйвера, филтър, така че изберете най-първият момент, "Инсталиране филтър устройство":

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

На следващо място, се появява прозорец, в който съветникът ще видите всички открити USB-устройство, на която можете да инсталирате филтъра шофьор Libusb библиотека. Тя трябва да бъде в съответствие с VID на ценности и PID открити в списък наш проблем-USB-устройство, изберете го и щракнете върху бутона Install.

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Следваща ще бъде бърза процедура за инсталиране на драйвер филтър:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

След инсталирането на филтърна шофьор получите съобщение. Сега проблемът във връзка с устройството посредством USB-библиотека Libusb няма.

Процесът на компилация е завършена, текущата папка ще бъде обект на файлове (разширение * .o) и изпълним набор-led.exe - изпълнимия файл и да има програма, която работи с развитите USB-устройство.

12. Свържете вашето устройство към компютъра. Ако сте я събира и шият правилно, послание, което намери нов LEDCtlHID устройство.

и след това още един, USB устройства за взаимодействие:

Ако се вгледате в диспечера на устройствата, папката на Human Interface Devices ще бъде 2 нови устройства:

Microsin - развитие USB устройство - как да започнете с библиотеки AVR USB (V-USB) и Libusb

Не шофьор не ни вземе - нашият USB устройство принадлежи към класа на HID!

Това е всичко! Можем да научим само да се опита примери един след друг (примери са описани в стъпка 4), изучава техния код, а дори и по-добре въз основа на примери, за да направите своя собствена USB-устройство и програма за това.

1. Устройство работа HID-данни, и се скри-поръчка RQ - не. LED комплект-led.exe полезност управление показва съобщение за грешка "Не можах да намеря USB устройство" LEDCtlHID "с клип = 0x16c0 PID = 0x5df". В този мениджър устройство показва наличието на свързаното устройство "USB HID-covmectimoe yctpoyctvo" LEDCtlHID (както трябва да бъде) и TestLibUsb полезността - устройство, което не е показано. Причината - не е нужно един Libusb библиотека. или неговата инсталация е повредена (например, това, което се случи с мен след заразяване с вируса - Kaspersky изцели всички, но нещо се е развалило). Елиминирайте проста - да инсталирате Libusb библиотеката (повторете стъпка 8).

2. Приемащата не започва с "Ppilozheniyu ydaloc zapyctitcya СИ, СИ е pockolky libusb0.dll Найден. Povtopnaya yctanovka ppilozheniya mozhet icppavit ETY ppoblemy". Причината - в папка% SystemRoot% \ system32 \ libusb0.dll липсва файл. Елиминирайте прост - трябва да копирате файлове от друг компютър, работещ с Libusb библиотека, или преинсталиране LibUSB на библиотеката.

3. Често срещан проблем за начинаещи, за да работят с библиотека V-USB - прекъсва. Желателно е да се избегнат подобни ситуации, оставете едно прекъсване на INT0, която работи за V-USB и използвате кода само основната програма. Ако все още имате нужда да се организира още една прекъсване манипулатор, а след това трябва да се прави с най-голяма грижа. В този случай, най-доброто решение е да се напише obrabochika асемблер.

4. начинаещи често се опитват да се промъкнат неловко примери за AVR-USB-russian.rar пакет AVRStudio, и те не работят - проектът не се компилира, грешките при обхождането. В действителност, всички примери AVR-USB-russian.rar предназначени да компилирате от командата направи командния ред.

5. Забравете също да се изгради проекта (правя да шестнадесетичен.) За да бъде чиста - да чисти. Чистият командата грим премахва всички обектни файлове, което гарантира правилното съставяне на всички случаи - и при промяна на настройките на Makefile, както и промяна на изходния код.

6. В Makefile са важен проект опции на фърмуера - тип микроконтролер (устройство), неговата тактова честота (F_CPU). Понякога честотата на кварца на микроконтролера не съвпада с променлива F_CPU и USB-устройство, тъй като тя не работи. Трябва да се помни, че допустимата честота на кварц серия 12, 15, 16, 16.5, 20 MHz кварцов друг няма да работи.

7 също са важни в usbconfig.h конфигурационния файл - тя определя всички параметри USB устройство, като краката се използва за сигнали D + и D-. Целта на по-детайлно документиран. usbconfig.h файл се споделя фърмуер (фърмуер папка) и домакин на софтуер (командния папка).

microsin: може да има няколко причини и тези причини могат да работят едновременно.

1. IR дистанционно предава парцели по-бавно от тичане за автоматично подновяване на обикновена клавиатура. Това е най-вероятната причина.
2. На вашия домашен комплект HID-клавиатура е твърде голям интервал за автоматично повторение (това е само, ако използвате функцията за автоматично подновяване).
3. Пропуски в програмата за HID-клавиатура.

Ако ме заведе в пакет AVR-USB-драйвер, причината може да е?

microsin: Вие не трябва да забравяме, за да зададете на скок, каталитичен буутлоудъра USBasp? Моля, прочетете статията "AVR-USB-MEGA16: USB буутлоудъра USBasp за микроконтролер и ATmega32". След джъмпера и свържете USB, буутлоудъра е активирана, и компютърът ви ще има устройство, което работи като програмист USBasp, чиято VID = 0 × 16C0 и PID = 0 × 05DC.

Ако искате да смените фърмуера до другия, да се използва буутлоудъра, както е описано в своята документация. Ако искате да замените буутлоудъра, използвайте интернет доставчик или JTAG програмист, както е описано в документацията му.