Cómo programar microcontroladores para principiantes [duplicar]

0

Nunca he trabajado con microcontroladores en mi vida y tengo una pequeña experiencia en programación. Sé un poco de java y TI-basic, pero nunca he hecho ningún programa útil. Tengo microcontroladores aleatorios alrededor (tengo unos PIC y un ATMEGA168). Primero, me pregunto qué hardware necesito para conectarlo a USB. (No creo que solo pueda ser una conexión directa), en segundo lugar, qué software debería obtener (Mac o Windows, o incluso Linux, no importa), y por último, para alguien horrible en programación, ¿qué es una buena manera? aprender, y que idioma requiere. ¿Cómo funcionan las computadoras para comunicarse con estos dispositivos?

    
pregunta skyler

3 respuestas

3

Mi recomendación es usar ATMega168 (y guarde esa hoja de datos en su computadora, la necesitará con frecuencia) . El paquete WinAVR está abierto fuente, Atmel Studio es gratis desde su sitio web, y Sparkfun tiene un excelente conjunto de tutoriales sobre cómo colocar un micro AVR en una placa de pruebas. En lugar de crear su propio programador en serie de circuitos, me gustaría comprar uno . Eso le permitirá utilizar las funciones de programación de GUI en Atmel Studio, en lugar de tener que preocuparse por AVRDude, que no es algo que los principiantes deberían hacer en mi opinión.

Los microcontroladores se programan comúnmente en C / C ++ o ensamblaje. Comience a trabajar en C. Hay un código de ejemplo para cualquier cosa que pueda imaginar, y es más fácil para principiantes que trabajar en ensamblaje. Lo que puedes hacer, es mirar el desmontaje después de la compilación. Si desea hacerlo, desactive la optimización, o podría confundirse con lo que ve. Una vez que entienda la arquitectura del procesador, puede escribir su material de alto rendimiento en conjunto si lo necesita.

Normalmente no lo recomendaría, pero otra opción es comprar una placa Arduino, probablemente una Uno para comenzar . Tiene un ATMega328, que es solo un 168 con más memoria. Desarrollo mis cosas en Atmel Studio, luego uso mi ICSP y Arduino Uno para programar un AtMega168 o 328 nuevo, luego coloco el chip programado en la PCB. Es rápido y fácil de reprogramar.

    
respondido por el Matt Young
0

Personalmente, me gusta trabajar con microcontroladores Atmel ya que el hardware de desarrollo es relativamente barato. Puede obtener el programador (ATAVRISP2) por alrededor de $ 38 y el emulador / programador en el circuito ((ATJTAGICE2) por alrededor de $ 400. Puede descargar AVR Studio desde el sitio web de Atmel para programar / emular sus dispositivos. Si desea realizar una programación seria , entonces recomendaría el emulador en circuito, ya que le permite realizar un solo paso a través de su programa y le permite monitorear los registros internos del dispositivo. AVR Studio es compatible con lenguaje ensamblador y C.

    
respondido por el Suirnder
-1

Esta pregunta es realmente abierta. Intentaré y daré algunos comentarios sobre los aspectos de programación de la pregunta.

Hay una diferencia muy pequeña entre la programación de un microcontrolador y una PC. Si tiene poca experiencia en programación, aprenda cómo programar en una PC en lugar de en un microcontrolador. Los microcontroladores son más difíciles de usar (compilación cruzada, tiempos de descarga lentos, inicialización de hardware, cargadores de arranque, depuración más compleja, ...), así que primero aprenda a escribir programas para su PC. Aprende C ya que es el lenguaje de programación más utilizado para microcontroladores. Hay toneladas de sitios web y libros para nuevos usuarios.

Sugeriría descargar y usar Eclipse para escribir, compilar y depurar sus programas. La experiencia con Eclipse es valiosa ya que muchos microcontroladores usan esto como su entorno de programación.

Una vez que tenga una comprensión firme de la programación y tenga en mente un proyecto que requiera un microcontrolador, compre un kit de desarrollo que cumpla con los requisitos de hardware y, lo que es más importante, se asemeja más a su PC y su conjunto de habilidades. La compra de una Raspberry Pi puede ser excesiva para un pequeño proyecto, pero el hecho de poder interactuar con ella como si fuera una PC facilitará su transición al desarrollo del microcontrolador.

    
respondido por el spearson

Lea otras preguntas en las etiquetas