USB CCS

April 23, 2017 | Author: Bassman Pop | Category: N/A
Share Embed Donate


Short Description

Download USB CCS...

Description

USB

Universal Serial Bus, o USB, se utiliza como un método para dispositivos periféricos para conectarse y hablar con una computadora personal. CCS proporciona bibliotecas para la conexión de un PIC al PC mediante USB mediante el uso de un PIC con un periférico USB interno (como el PIC16C765 o la familia PIC18F4550) o mediante el uso de cualquier PIC con un periférico externo USB (el Nacional USBN9603 familia).

Funciones relevantes: usb_init () Inicializa el hardware USB. Entonces va a esperar en un bucle infinito para el periférico USB para ser conectado al bus (pero eso no significa que haya sido enumerados por el PC). Permitirá el uso y la interrupción del USB.

usb_init_cs () Al igual que usb_init (), pero no espera a que el dispositivo se conecta al bus. Esto es útil si el dispositivo no está bus y puede funcionar sin una conexión USB.

usb_task () Si usa el sentido de conexión, y el usb_init_cs () para la inicialización, entonces periódicamente debe llamar a esta función para mantener un ojo en el pasador de conexión de sentido. Cuando el PIC está conectado al bus, esta función entonces perpare el periférico USB. Cuando el PIC está desconectado del bus, se restablecerá la pila USB y periféricos. Permitirá el uso y la interrupción del USB.

Nota: En su solicitud, usted debe definir USB_CON_SENSE_PIN a la clavija de conexión de sentido.

usb_detach () Elimina el PIC desde el autobús. Se llamará automáticamente usb_task () si se pierde la conexión, pero puede ser llamado de forma manual por el usuario.

usb_attach () Concede al PIC al bus. Se llamará automáticamente usb_task () si la conexión, pero puede ser llamado de forma manual por el usuario.

usb_attached () Si se utiliza pines sentido (USB_CON_SENSE_PIN), devuelve TRUE si que pin es alto. Persona siempre devuelve TRUE.

usb_enumerated () Devuelve TRUE si el dispositivo ha sido enumerado por el PC. Si el dispositivo ha sido enumerado por el PC, eso significa que está en el modo de funcionamiento normal y se puede enviar / recibir paquetes.

usb_put_packet (Punto final, los datos, len, TGL) Coloca el paquete de datos en el búfer de punto final especificado. Devuelve TRUE si éxito, FALSE si el buffer está todavía llena con el último paquete.

usb_puts (Punto final, los datos, len, tiempo de espera) Envía los siguientes datos para el punto final especificado. usb_puts () difiere de usb_put_packet () en el que va a enviar mensajes de múltiples paquetes, si los datos no caben en un paquete.

usb_kbhit (punto final) Devuelve TRUE si el punto final especificado en los datos es el búfer de recepción

usb_get_packet (Variable, ptr, max) Lee hasta un máximo de bytes del búfer de extremo especificado y lo guarda en el ptr puntero. Devuelve el número de bytes guardados en ptr.

usb_gets (variable, ptr, máximo, tiempo de espera) Lee un mensaje desde el punto final especificado. La diferencia usb_get_packet () y usb_gets () es que usb_gets () esperará hasta que un mensaje completo ha recibido, que un mensaje puede contener más de un paquete. Devuelve el número de los bytes recibidos.

Las funciones relevantes de los CDC: Un dispositivo USB CDC emula el comportamiento de un dispositivo RS-232, y aparecerá en su PC como un puerto COM. Las funciones de seguimiento que proporciona esta interfaz RS-232/serial virtuales

Nota: Si utiliza la biblioteca de CDC, puede utilizar las mismas funciones que el anterior, pero no utilizar la función de paquetes relacionados, tales como: usb_kbhit (), usb_get_packet (), etc

usb_cdc_kbhit () Al igual que kbhit (), devuelve TRUE si hay un personaje o más en el búfer de recepción.

usb_cdc_getc () Al igual que getc (), lee y devuelve un carácter del búfer de recepción. Si no hay datos en el búfer de recepción se va a esperar indefinidamente hasta que un personaje ha sido recibido.

usb_cdc_putc (c) Al igual que putc (), envía un carácter. En realidad, pone un carácter en el búfer de transmisión, y si el buffer de transmisión está lleno esperará indefinidamente hasta que haya espacio para el personaje.

usb_cdc_putc_fast (c) Al igual que usb_cdc_putc (), pero no esperará indefinidamente hasta que haya espacio para el carácter del buffer de transmisión. En esa situación, el personaje se pierde.

usb_cdc_putready () Devuelve TRUE si no hay espacio en el búfer de transmisión de otro personaje.

Las interrupciones relevantes: # Int_usb Un evento USB ha sucedido, y requiere la intervención de la aplicación. La biblioteca de USB que ofrece CCS gestiona esta interrupción automática.

Incluir archivos relevantes: pic_usb.h Hardware controlador de capa de la familia de controladores PIC PIC16C765 con un periférico USB interno.

pic_18usb.h Hardware controlador de capa de la familia PIC18F4550 controladores PIC con un periférico USB interno.

usbn960x.h Controladores de hardware para la capa externa Nacional USBN9603/USBN9604 periféricos USB. Usted puede usar este periférico externo USB para añadir a cualquier microcontrolador.

usb.h Definiciones comunes y prototipos utilizados por el controlador USB

usb.c La pila USB, que se ocupa de la interrupción USB y USB solicitudes de instalación de punto final 0.

usb_cdc.h Un conductor que lleva el anterior son los archivos para crear un dispositivo USB CDC, que emula un dispositivo RS232 legado y se muestra como un puerto COM en el Administrador de dispositivos de MS Windows.

Relevantes getenv () Parámetros: USB Devuelve TRUE si el controlador PIC tiene un interior integrado periféricos USB.

Ejemplo de código: Debido a la complejidad de código de ejemplo USB no encaja aquí. Pero se pueden encontrar los siguientes ejemplos se instala con su compilador CCS C:

ex_usb_hid.c Un simple dispositivo HID

ex_usb_mouse.c Un Ratón HID, cuando se conecta a su PC el cursor del ratón en círculos.

ex_usb_kbmouse.c Un ejemplo de cómo crear un dispositivo USB con múltiples interfaces mediante la creación de un teclado y un ratón en un solo dispositivo.

ex_usb_kbmouse2.c Un ejemplo de cómo utilizar múltiples HID informe ID para transmitir más de un tipo de paquete HID, como lo demuestra un teclado y un ratón en un solo dispositivo.

ex_usb_scope.c Un proveedor específico de clase mediante transferencias masivas se demuestra.

ex_usb_serial.c El CDC virtuales RS232 biblioteca se demuestra con esta RS232 ejemplo USB.

ex_usb_serial2.c Otro CDC virtuales RS232 ejemplo de la biblioteca, esta vez un puerto del ejemplo ex_intee.c usar USB en lugar de RS232.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF