Kontrollera lamporna över USB med VUSB (5 / 10 steg)
Steg 5: VUSB filer
Hoppa på över till sidan VUSB Ladda ner och greppa den senaste versionen av deras bibliotek. Packa upp filen och kopiera mappen usbdrv i projektmappen (samma ställe där du sätter din källkod). Öppna mappen usbdrv, och det bör finnas en fil som heter usbconfig-prototype.h. Gör en kopia av filen och kallar det usbconfig.h. Vi måste ändra den här filen för att matcha vårt projekt. Lyckligtvis, alla VUSB filer är väl dokumenterade, så detta är inte alltför svårt. Jag har bifogat den usbconfig.h arkivera jag använd för detta projekt, men du måste ändra det om du använder en annan mikro. Låt oss ta en titt på vad du behöver ändra.
usbconfig.h
Det första vi behöver göra är att berätta programvaran där USB-D+ och D-line är anslutna till mikro:
#define USB_CFG_IOPORTNAME D
#define USB_CFG_DMINUS_BIT 3
#define USB_CFG_DPLUS_BIT 2
I vårt fall är det Port D, bits 2 och 3, som motsvarar till stift 4 och 5. D-linjen kan anslutas till något lite i hamnen, men D + måste anslutas till INT0. Kommentar från usbconfig.h:
/ * Detta är antalet bitar i USB_CFG_IOPORT där USB-D+ linjen är kopplad.
* Detta kan vara någon lite i hamnen. Observera att D + måste också vara ansluten
* att avbryta pin INT0! [Du kan också använda andra avbrott, se avsnitt
* "Valfri MCU beskrivning" nedan, eller om du kan ansluta D - till avbrottet, som
* Det krävs om du använder funktionen USB_COUNT_SOF. Om du använder D-för den
* avbryta, USB avbrott kommer också utlösas vid Start-för-bildruta
* markörer varje millisekund.]
*/
Nästa vi måste se till att USB klockhastighet matchar våra AVR klockhastighet:
#define USB_CFG_CLOCK_KHZ 16000
Varje USB-enhet är hård kodad med både en vendör ID (VID) och en produkt-ID (PID). Detta gör att en dator för att enkelt hitta och tilldela rätt drivrutiner för varje enhet. Eftersom vi inte behöver några drivrutiner för vårt projekt, kunde vi välja slumptal för VID- och PID. Men riskerar vi (små) av misstag att välja ett befintligt ID och förvirrande datorn. Lyckligtvis kan du registrera en unik VID med usb.org för låg lågt pris av $5000. Om du inte har den typen av kontanter å, ger VUSB en VID/PID-par som du kan använda för ditt projekt. Observera att genom att använda detta VID och PID, detta projekt faller under GPL. Du kan ändra dessa ID om du vill, men observera att dessa ID måste överensstämma med vad är i din kod.
#define USB_CFG_VENDOR_ID 0xc0, 0x16 / * = 0x16c0 = 5824 = voti.nl * /
#define USB_CFG_DEVICE_ID 0xdc, 0x05 / * = 0x05dc = 1500 * /
Även om vi använder ett redan existerande VID och PID, kan vi fortfarande ge en egen sträng för både leverantörens namn och enhetens namn:
#define USB_CFG_VENDOR_NAME "e", "x", "ett", är ","p","l","e",". ","c","o är"
#define USB_CFG_VENDOR_NAME_LEN 11
#define USB_CFG_DEVICE_NAME är ', 'o ', 'o ', 'd',' ', 'L', 'i', 'g', 'h', 't'
#define USB_CFG_DEVICE_NAME_LEN 10
Känn dig fri att använda din egen e-post/hemsida som leverantörens namn.