Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Először is, néhány általános szó a csomagot (könyvtár) AVR USB (átnevezett V USB) Célkitűzés Fejlesztési és libusb könyvtárat.

AVR USB (V-USB) - tartalmazó csomag könyvtári rutinok (és alkalmazási példáinak), amely lehetővé teszi a használó mikrokontroller családjai AVR (prizvoditel Atmel), hogy az alacsony sebességű (kis sebességű szabványos USB 1.0.) USB-eszközt. Ezeknek a készülékeknek az USB protokoll végre szoftver - a firmware, varrt a mikrokontroller. Továbbá az AVR-USB csomag tartalmaz például programok fogadó (számítógép, amelyre az USB-csatlakoztatott eszköz), amely megvalósítja az adatcsere az USB készülékek fejlődött. V-USB könyvtár által kifejlesztett Célkitűzés Fejlesztési és ingyenesen, valamint a kereskedelmi használatra (attól függően, hogy a választott licenc).

Program a fogadó használt, viszont egy másik könyvtár - libusbt [13]. Az egyszerűség kedvéért meg kell hívni a program varr a mikrokontroller távon firmware. és a programok futtatását a számítógépen, és kommunikálni USB eszközök általunk kifejlesztett - kifejezések a gazda. Így a folyamat dolgozik a csomag AVR-USB (V-USB), és a könyvtár libusbt Windows platformon lépésről lépésre.

A fordításhoz a firmware és szoftver szükség speciális fogadó szoftver csomag, a telepítés és használat vesszük figyelembe.

Ennek eredményeként, az aktuális mappában kap main.hex fájlt. ami a firmware a mikrokontroller. Ha már csatlakoztatta a programozó avrdude (Makefile konfigurálva érte), a programozás a kristály csak írja, hogy a program.

7. Most a szoftver a házigazda. Az összeállításhoz szükségünk gcc.exe. amely része a MinGW csomag (ahol letölthető - lásd a link.). MinGW csomag - egy sor portolták a Unix parancssori segédprogramok. Letöltöttem a MinGW-5.1.4.exe, a méret a fájl 140095 bájt. Ez egy trükkös telepítő, ha telepíti a letöltés az interneten van szüksége. Amikor fut, akkor kérni fogja kiválasztása „Letöltés és telepítés” vagy „Letöltés csak”, válassza a „Letöltés és telepítés”. Ezután megkérdezi, hogy melyik csomagot telepíteni - korábbi, jelenlegi vagy vont. A választás, hogy mit kínálnak alapértelmezés szerint - Jelenlegi. További vizsgálatok választani a telepítendő összetevőket. Alapértelmezésben csak ajánlott „MinGW bázis eszközök”, de tettem egy kullancs minden esetben a „g ++ fordító”. Tedd segédprogram nem választja, mert van már működik (felszentelt WinAVR csomag). Következő választania a telepítési mappa - C: \ MinGW, egyetért. Következő kérte, hogy válasszon egy helyet a parancsikont, majd a letöltési folyamat megkezdődik. Georgia Van sokáig, körülbelül egy óra, a sebesség mintegy 22 kbyte / sec (információk szerint a telepítő). Loaded összes aktuális mappában, ahol futni MinGW-5.1.4.exe. Telepítése után gcc.exe van a c: \ MinGW \ bin \, de ily módon a Path változót nem regisztrált, akkor manuálisan kell hozzáadni (remélhetőleg nem kell magyarázni, hogyan?).

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Fogok részletesebben írják le a telepítés a vezetők, mert néha a felhasználók a könyvtár problémák vannak vele, különösen akkor, ha csatlakoztatni az új-készüléket a számítógéphez más VID és PID (akkor is, ha a könyvtár libusbt korábban telepített). A probléma az, hogy az új USB-eszközt (új VID és PID) igényel új, úgynevezett szűrő-illesztőprogram (filter driver). A telepítés során libusbt-win32-devel-szűrő-X.X.X.X majd csak rákérdez, hogy telepítse a szűrő-illesztőprogram az összes USB-eszközt észlel, és a feladat az, hogy válassza ki a kívánt eszközt, és állítsa szűrőillesztő rá. Tehát letölthető libusbt-win32-devel-szűrővel, például libusbt-win32-devel-szűrő-1.2.2.0.exe, és fuss. Megerősítés azonnali megkezdését (ha nem tudja ellenőrizni a kiadó), kattintson a „Run” gombra:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

A telepítő varázsló üdvözölte libusbt-Win32 könyvtári ostobán gombra:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Kérésére a visszaigazolás elfogadását az engedély, válassza ki a szokásos „I accept the agreement”, és kattintson a Tovább gombra:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Az ablak „fontos információkat” ostobán gombra:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Aztán felajánlotta, hogy változtatni a nevét és elérési útját a mappát, amelybe telepíteni a könyvtárban. Semmit nem kell megváltoztatni, ostobán gombra:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Aztán felajánlotta, hogy változtatni a nevét és elérési útját a mappát, amely alapján a címkéken. Semmit nem kell megváltoztatni, ostobán gombra:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

A telepítés befejezése libusbt könyvtárban. Ha elhagyja a négyzetet „Launch szűrő telepítő varázsló”, és kattintson a Befejezés gombra a varázsló indul a telepítés egy szűrő-illesztőprogram a Point of USB-eszközt. Ez egy fontos lépés, hogy én úgy döntött, hogy külön fejezetben 8a.

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Most általában már össze példákat a parancssor a fogadó szánt GCC. Ha az összeállítás a hiba, lehetséges, hogy van a mappa C: \ Program Files \ libusbt-Win32 \ hiányzik mappák include és lib. Itt lehet letölteni a beállított libusbt-Win32 könyvtár teljes egészében hivatkozás [9].

8a. A szűrő behelyezése driver. Mint már említettem, a fogadó program segítségével írják libusbt könyvtár, a Windows platformon kommunikálni USB eszközök révén az úgynevezett szűrő-illesztőprogram. Ha a vezető az USB-eszköz szűrő nincs telepítve, amikor megpróbál hozzáférni az USB-eszközt lehet kapni az üzeneteket, mint a „Nem található USB eszköz” hardctrl-HID „a vid = 0x16c0 pid = 0x5df” (ebben a példában megjeleníti a paraméterek „hardctrl- HID”vid = 0x16c0, pid = 0x5df, kérdezte usbconfig.h fájlban USB_CFG_DEVICE_NAME makrók USB_CFG_VENDOR_ID, USB_CFG_DEVICE_ID -kal). A probléma továbbra is fennáll telepítése szűrő-illesztőprogram az eszközhöz. Wizard telepítése szűrő-illesztőprogram fut a libusbt könyvtár telepítési folyamat (az eljárást az előző lépésben), de akkor is fut a varázsló szűrőillesztő (Filter Wizard) és külön a program start menüből:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Elindítása után a szűrő megjelenik egy ablak, ahol kiválaszthatja a kívánt műveletet - telepíteni egy szűrő-illesztőprogram az USB-eszközt, távolítsa el a korábban telepített USB-eszköz szűrő-illesztőprogram, távolítsa el az összes telepített szűrőillesztőinek összes USB-eszközt. A probléma esetén, hogy az USB-eszközt, fel kell telepíteni a szűrő-illesztőprogram, úgy döntenek, az 1. pontban, a „Telepítés a készülék szűrője”:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Ezután megjelenik egy ablak, amelyben a varázsló megjeleníti az összes talált USB-eszközt, amelyre lehet telepíteni az illesztőprogramot szűrő libusbt könyvtárban. Meg kell értékeknek megfelelően a VID és PID megtalálható a problémamentes USB-eszköz listában válassza ki azt, majd kattintson a Telepítés gombra.

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Következő lesz gyors eljárást telepítése szűrő-illesztőprogram:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

A telepítés után a szűrő-illesztőprogram kap egy üzenetet. Most a probléma, utalva a készülék USB-könyvtár libusbt nem.

A fordítási folyamat befejeződött, az aktuális mappában lesz objektum fájlok (kiterjesztés * .o) és végrehajtható set-led.exe - a futtatható fájlt és a program, amely együttműködik a fejlett USB-eszközt.

12. Csatlakoztassa az eszközt a számítógéphez. Ha összegyűjtjük és varrni rendesen, egy üzenet, hogy talált egy új eszköz LEDCtlHID.

majd egy másik, USB Human Interface Device:

Ha megnézzük az Eszközkezelőben, a Human Interface Devices mappa lesz 2 új eszközök:

Microsin - fejlesztés usb eszköz - hogyan kell elkezdeni a könyvtárakkal avr usb (v-usb) és libusbt

Nem vezető nem visz minket - USB-s eszköz osztályába tartozik HID!

Ez minden! Csak akkor tudjuk tanulni, hogy megpróbálja példák egymás után (példákat 4) lépés, tanulmányozza a kódját, és még jobban alapján példák, hogy a saját USB-eszközt és programot is.

1. Eszköz hid-adatok a munka, és elrejtette-custom-RQ - nincs. LED set-led.exe kezelő segédprogram egy hibaüzenetet jelenít meg "Nem található USB eszköz" LEDCtlHID "a vid = 0x16c0 pid = 0x5df". Ebben eszközkezelő jelenlétét mutatja, a csatlakoztatott eszköz „USB HID-covmectimoe yctpoyctvo” LEDCtlHID (mint amilyennek lennie kellene), és TestLibUsb segédprogram - egy nem ábrázolt készülékkel. Az ok - nem kell a könyvtár libusbt. vagy felszerelési sérült (például, hogy mi történt velem, miután az ajánlatkérő a vírust - Kaspersky begyógyultak, de valami eltört). Távolítsuk egyszerű - telepítse a libusbt könyvtár (ismétlés 8. lépés).

2. A fogadó nem kezdődhet "Ppilozheniyu ydaloc zapyctitcya ne, ne volt pockolky libusb0.dll Nayden. Povtopnaya yctanovka ppilozheniya mozhet icppavit dalom ppoblemy". Az ok - a mappában% SystemRoot% \ system32 \ libusb0.dll hiányzó fájlt. Távolítsuk egyszerű - meg kell másolni a fájlt egy másik számítógépen fut a könyvtár libusbt, vagy telepítse újra a könyvtár libusbt.

3. A közös probléma a kezdők számára, hogy működjön együtt a könyvtár V-USB - megszakítások. Kívánatos, hogy az ilyen helyzetek elkerülése, hagyjuk egy megszakítja a INT0, ami működik a V-USB, és használja a kódot csak a fő program. Ha még mindig kell szervezni egy újabb megszakítás kezelő, akkor meg kell tenni a lehető legnagyobb gondossággal. Ebben az esetben a legjobb megoldás az, hogy írjon obrabochika szerelő.

4. A kezdők gyakran megpróbálják félszegen csúszik példákat avr-usb-russian.rar csomag AVRStudio, és nem működik - a projekt nem fordul le, csúszás hibákat. Tény, hogy az összes példák avr-usb-russian.rar fordításra a parancsot, hogy a parancssorban.

5. Felejtsd is építeni a projekt (make make hex.) Ahhoz, hogy tiszta -, hogy tiszta. A make clean parancs eltávolítja az összes tárgy fájlokat, amely biztosítja a megfelelő összeállítása minden esetben - és ha változik a make beállításokat, és a változás a forráskódot.

6. a make fontos lehetőség firmware projekt - típusú mikrokontroller (eszköz), az órajel frekvencia (F_CPU). Előfordul, hogy a frekvencia a kvarc-mikrokontroller nem felel meg a változó F_CPU, és az USB-eszközt, mert nem működik. Azt is meg kell jegyezni, hogy a megengedett gyakorisága a kvarc sorozat 12, 15, 16, 16,5, 20 MHz kvarc más nem fog működni.

7 is fontosak a konfigurációs fájlban usbconfig.h - ez határozza minden paraméter USB-eszközt, mint például a lábak használják a jelek D + és D-. A cél az egyes lehetőségek részletesen dokumentálták. usbconfig.h fájl megosztásának firmware (firmware mappa) és a fogadó szoftver (parancssor mappa).

microsin: lehet számos oka van, ezek okait is működhet.

1. IR távirányító továbbítja parcellák lassabban fut automatikus ismétlés a rendes billentyűzet. Ez a legvalószínűbb oka.
2. A házi HID-billentyűzet készlet túl nagy intervallum automatikus ismétlés (ez csak akkor, ha ez az automatikus ismétlés).
3. Hiányosságok a HID-billentyűzet programot.

Ha veszem, hogy AVR-USB-illesztőprogram-csomagot, az ok lehet?

microsin: Nem elfelejteni, hogy a jumpert, katalitikus bootloader USBasp? Kérjük, olvassa el a cikk "AVR-USB-MEGA16: USB bootloader USBasp Mikrokontroller és ATmega32". Miután a jumper, és csatlakoztassa az USB, bootloader van kapcsolva, és a számítógép lesz olyan eszköz, amely működik, mint egy programozó USBasp, akinek VID = 0 × 16C0 és PID = 0 × 05DC.

Ha azt szeretnénk, hogy cserélje ki a firmware-t a többi, használja a bootloader leírtak dokumentációval. Ha azt szeretnénk, hogy cserélje ki a bootloader, akkor használjon egy internetszolgáltató vagy JTAG programozó leírtak dokumentációval.