Paso 5: Archivos VUSB
Salto más en la página de descarga de VUSB y agarrar la última versión de su biblioteca. Descomprimir el archivo y copiar la carpeta usbdrv en la carpeta del proyecto (el mismo lugar donde están poniendo el código fuente). Abra la carpeta usbdrv y debe haber un archivo llamado usbconfig-prototype.h. Hacer una copia del archivo y lo llaman usbconfig.h. Tenemos que modificar este archivo para que coincida con nuestro proyecto. Por suerte, todos los archivos VUSB están bien documentados, por lo que no es demasiado difícil. Yo he conectado el archivo usbconfig.h que utilicé para este proyecto, pero vas a tener que modificar si se utiliza un micro diferente. Echemos un vistazo a lo que usted necesita para cambiar.
usbconfig.h
Lo primero que debemos hacer es saber el software donde el USB ingles y D-line están conectados al micro:
#define USB_CFG_IOPORTNAME D #define USB_CFG_DMINUS_BIT 3 #define USB_CFG_DPLUS_BIT 2
En nuestro caso, es Port D, 2 y 3, que corresponden a los pines 4 y 5. La línea D puede ser conectada a cualquier bit en el puerto, pero D + debe estar conectado a INT0. Comentario de usbconfig.h:
/* This is the bit number in USB_CFG_IOPORT where the USB D+ line is connected. * This may be any bit in the port. Please note that D+ must also be connected * to interrupt pin INT0! [You can also use other interrupts, see section * "Optional MCU Description" below, or you can connect D- to the interrupt, as * it is required if you use the USB_COUNT_SOF feature. If you use D- for the * interrupt, the USB interrupt will also be triggered at Start-Of-Frame * markers every millisecond.] */
A continuación tenemos para asegurarse de que el USB clockrate coincide con nuestro clockrate AVR:
#define USB_CFG_CLOCK_KHZ 16000
Cada dispositivo USB es difícil codificado con un vendor ID (VID) y un producto ID (PID). Esto permite a una computadora para fácilmente encontrar y asignar al derecho Controladores para cada dispositivo. Ya que no necesita Controladores para nuestro proyecto, podríamos elegir números al azar para la VID y el PID. Sin embargo, corremos el riesgo (pequeño) de accidentalmente elegir un ID existente y confundiendo a la computadora. Por suerte, puede registrar un único VID con usb.org por el bajo precio de $5000. Si no tiene ese tipo de dinero en efectivo a mano, VUSB proporciona un par ID de proveedor/producto que se puede utilizar para su proyecto. Tenga en cuenta que mediante este VID y PID, este proyecto cae bajo licencia GPL. Usted puede cambiar estos ID ' s si lo desea, pero tenga en cuenta que estos ID debe coincidir con lo que está en el código.
#define USB_CFG_VENDOR_ID 0xc0, 0x16 /* = 0x16c0 = 5824 = voti.nl */ #define USB_CFG_DEVICE_ID 0xdc, 0x05 /* = 0x05dc = 1500 */
A pesar de que estamos usando un preexistente VID y PID, todavía podemos proporcionar una cadena personalizada para el nombre del proveedor y el nombre del dispositivo:
#define USB_CFG_VENDOR_NAME 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm' #define USB_CFG_VENDOR_NAME_LEN 11 #define USB_CFG_DEVICE_NAME 'M', 'o', 'o', 'd', ' ', 'L', 'i', 'g', 'h', 't' #define USB_CFG_DEVICE_NAME_LEN 10
No dude en usar su propio correo electrónico/sitio web como el nombre del proveedor.