Programación C / C ++ / C # para la conexión de USB al microcontrolador PIC

5

Soy un estudiante de ciencias de la computación que busca realizar una programación de microcontroladores PIC para algunos proyectos de casas pequeñas. Soy fluido en C / C ++ / C # / Java y también tengo conocimientos de programación de microprocesadores (ALP, el 8086). Planeo construir una interfaz USB para controlar algo de iluminación y un motor en uno de mis proyectos. Tengo los componentes del circuito y el diseño planeado. Tengo en mente el PIC 18f4550 y ya he descargado las bibliotecas del sitio web de microchip. El único problema es que no sé qué código escribir para esto. Las bibliotecas son enormes y realmente no necesito entrar en todos los detalles (eso es lo que creo). Intenté encontrar otros recursos, pero parece que el PIC es antiguo y que la mayoría de los enlaces de Google solo han sido callejones sin salida. ¿Alguien sabe de un blog, un video o algo que pueda ayudarme a comenzar? Espero que sea posible hacerlo usando uno de los idiomas que mencioné anteriormente.

    
pregunta Kasisnu

3 respuestas

5

Primero debe echar un vistazo a los ejemplos que se incluyen con Microchip USB Framework (parte de Bibliotecas de aplicaciones de Microchip ). Los documentos dan algunas descripciones en las demostraciones individuales. El archivo de ayuda en sí es, en mi opinión, un poco oculto, pero puede encontrarlo en <YourInstallLocation>\Microchip\Help\MCHPFSUSB Library Help.pdf

Para comenzar, y dependiendo de cómo desee que aparezca su dispositivo en la computadora host, revisaría el código de las siguientes demostraciones:

  • Dispositivo - Demo básica de CDC
  • Dispositivo - HID - Demo personalizada

En la descripción, ambos afirman que pueden ejecutarse en la 'Tarjeta de desarrollo USB de Low Pin Count', que utiliza un PIC18F14K50 . El PIC18F4550 debe ser lo suficientemente similar para permitirle transferir la mayoría, tal vez incluso todo, del código .

Otro enfoque, como recomienda kenny , es usar un IC que maneje la mayoría de los dispositivos USB para ti. Una opción popular son las de FTDI . Cuando toma el FT232R , engancha el UART de su microcontrolador al IC. Escribir código para transmitir / recibir datos ahora es mucho más simple

Similar al FT232R es el IC MCP2200 fabricado por Microchip. La opción que elija es cuestión de gustos (y quizás soporte para el controlador).

    
respondido por el PetPaulsen
1

Creación de un dispositivo USB PIC18F

He usado su biblioteca de C # y funciona muy bien y es fácil de usar. Se puede ampliar o modificar fácilmente para satisfacer cualquier necesidad que tenga. Sus tutoriales también son muy completos y fáciles de entender y, por lo general, responde rápidamente en los foros si tiene preguntas.

Como ya mencionó PetPaulsen, revise todo el código y los proyectos de muestra proporcionados por Microchip. No es necesario que entienda cómo funciona el protocolo USB. Realmente solo necesitas modificar el archivo principal y el archivo usb_descriptors para que las cosas funcionen.

    
respondido por el Brett H
1

Puede probar el código de enlace Hay una "Demostración HID genérica" ligeramente simplificada de las muestras de Microchip (se eliminaron algunas secciones de código de varias tarjetas redundantes) para el proyecto anterior de MPlab + C18 y Code :: Blocks basado en consola para Windows (LED de conmutación, pulsador de lectura, ADC de lectura). Si no necesitas un montón de GPIO, prueba PIC18F2550 más pequeño. Dicho esto, no creo que estas MCU sean competitivas en este momento con, por ejemplo, STM32F042F (paquete TSSOP20, dispositivo USB sin cristal externo, más memoria, cargador de arranque USB en la ROM) o STM32F103 (mini tableros disponibles solo por $ 4, UART basado en el gestor de arranque).

Tenga en cuenta que para PIC18F2550 / 4550 probablemente necesitará comprar un programador (a menos que tenga una PC antigua con RS-232 adecuada para conectar un programador simple de estilo JDM).

    
respondido por el TMSZ

Lea otras preguntas en las etiquetas