Tutorial para comunicación USB con un PIC18F4550 utilizando marco CDC

Estoy tratando de realizar una comunicación USB desde la PC a un microcontrolador PIC18F4550 utilizando el marco Microchip PIC18 USB CDC (Clase de dispositivo de comunicación) que esencialmente hace que el PIC18, conectado a la PC a través del cable USB al puerto USB de la PC, aparezca como un puerto COM virtual en la PC. Esto me da la facilidad de enviar los datos como si los estuviera enviando a un puerto serie en el lado de la PC y elimina la molestia de usar un convertidor USB a serie.

Ahora, el problema es que el proyecto de demostración proporcionado por Microchip está escrito para que pueda grabarse en diferentes dispositivos, con diferentes circuitos o con diferentes condiciones, lo que lo hace grande y, al menos para mí, más difícil de entender. Si alguien pudiera simplemente proporcionar un código de trabajo con comentarios mínimos para este microcontrolador o algo similar O vincularme a un buen tutorial, me haría la vida MUCHO MUCHO más fácil

Gracias.

¿Conoces estos dos documentos de Microchip? Proporcionan información básica de antecedentes. ww1.microchip.com/downloads/en/DeviceDoc/51679b.pdf ww1.microchip.com/downloads/en/AppNotes/00956b.pdf
Otro recurso útil para mí fue este sitio alemán (no sé si entiendes alemán): sprut.de/electronic/pic/8bit/18f/interfaces/usb/usb.htm
Gracias por tus enlaces. No, no entiendo alemán, pero el traductor de Google sí :)
Gracias a Federico y @PetPaulson, hice exactamente eso. Lo despojé de cualquier código innecesario y me di cuenta de que solo eran un par de funciones las que estaban haciendo el trabajo y logré comunicarme con el PIC usando hiperterminal.

Respuestas (1)

No tengo experiencia con el CDC pero tengo algo con la clase MSD. Algunos pasos que hice y pueden ser útiles para usted. Primero, creemos un proyecto independiente:

1) Supongo que ha descargado e instalado MAL (Bibliotecas de aplicaciones de microchip). Copie en su directorio de ejemplo los siguientes archivos: usb.h, usb_ch9.h, usb_common.h, usb_config.h, usb_device.h, usb_device_local.h, usb_hal.h, USB PIC18.h, usb_function_cdc.h, usb_function_cdc.c y agréguelos al proyecto MPLAB X. Quite las bibliotecas del proyecto MPLAB.

2) Compílelo, vincúlelo y vea si todavía funciona bien.

3) Usando MPLAB X, elimine todas las líneas de código que están atenuadas en los bloques de preprocesador #ifdef o #else. Es decir, elimine todo el código destinado a otras arquitecturas que no estén destinados a un PIC18F45XX.

4) Repita 2.

5) Si empiezas a estudiar el código ahora, notarás que es mucho más simple de lo que pensabas al principio, y tendrás mucho más control sobre tu proyecto.

Espero que esto ayude.

Totalmente de acuerdo con el paso 3; los tutoriales están escritos de manera muy amplia y no son específicos de una plataforma. También eliminé una gran cantidad de código de los ejemplos de USB estándar y partí de allí, luego, básicamente, todo lo que hace la aplicación principal es hacer algunas llamadas API.