Soy un principiante y quiero aprender AVR C / C ++. ¿Puedo hacer esto usando un Arduino? (Estoy preguntando esto porque ya tengo uno).
Si es así, ¿podría alguien decirme usando qué IDE puedo escribir código en C / C ++ puro y luego flashearlo en el Atmega328P en Arduino? ¿O debería obtener un AVR y un programador en su lugar?
He buscado en todo Internet y estoy realmente confundido por toda la terminología. ¿Podría alguien explicármelo?
Comentarios
- Entonces, para programar el 328, creo que necesitas instalar atmel studio para compilar tu código y luego usar el comando de línea de comando avrdude para poner tu código compilado en el arduino.
- @ Treesrule14 que ' es una posibilidad, pero no la única, por lo que ' s Es falso decir que es necesario. Si el IDE de Arduino está instalado, también lo está el compilador avr-gcc del que depende.
- @ Treesrule14 Tengo el estudio atmel instalado. Simplemente no puedo encontrar ningún recurso eso podría ayudarme a flashear un programa en el chip en el arduino usando un arranque cargador (sin programador). ¿Es esto siquiera posible?
- Creo que necesitas un programador. : (
- No ' no necesita ningún IDE. Puede compilar y cargar usando la cadena de herramientas que viene con Arduino. Mire Arduino.mk por ejemplo.
Responder
Sí, obtenga un programador AVR en su lugar.
1) Puede flashear su placa arduino con avrdude / avr-gcc . Instale estas herramientas, busque la hoja de datos de atmega328 (google it), use los pines de la placa para conectarse a su programador (stk500v2 / ISP) y ¡listo!
2) Tenga en cuenta que al flashear «manualmente» su atmaga en la placa arduino, «está eliminando el gestor de arranque que se necesita para cargar sus bocetos desde ARDUINO IDE.
3) Utilice su IDE de C / C ++ favorito
Comentarios
- Debería poder encontrar y actualizar el gestor de arranque para arduino, busque aquí arduino.cc/en/Hacking/Bootloader?from=Tutorial.Bootloader
- ¡No! No necesitas un programador, ni para quitar el cargador de arranque. El cargador de arranque Arduino tiene dependencia cero del IDE o las bibliotecas: tiene la misma libertad para usarlo con programas independientes en C como con los bocetos de Arduino. Hacerlo de esa manera no solo es más barato, sino que le permite usar la misma placa para ambos estilos de desarrollo sin cambios de configuración.
- El autor quería aprender AVR en C. pura. No ' t preguntó – hey chicos, cómo jugar con arduino IDE o algo así. pero cómo reutilizar el atmega a bordo que ya tiene.
- @ChrisStrat ton ya que no está de acuerdo con las otras respuestas Envíe una respuesta por favor
Responda
Si es un principiante, Le sugiero que escriba C en el IDE de Arduino. Las bibliotecas son muy útiles y creo que el entorno Arduino / Wiring / Processing cubrirá todas sus necesidades.
Consulte el Lightblue Bean ( http://punchthrough.com/bean/ ) es un buen ejemplo del poder de esa plataforma. Incluso los programadores embebidos experimentados pueden usarlo, ya que el registro subyacente aún es accesible.
Ahora estoy programando en el Ti MSP430, y aunque puedo apreciar las posibilidades, extraño la simplicidad de Arduino; mucho más fácil comenzar con Arduino.
Vaya a http://arduino.cc/en/main/software para descargar la versión 1.0. 6. Software IDE, conecte su Arduino, vaya a Tools-> Board para seleccionar su Arduino, seleccione el puerto «tty» apropiado en Tools-> Serial_Port. Luego escribe en C puro y descarga. Hay toneladas de ejemplos incluidos con el IDE.
Respuesta
Un Arduino está programado en C / C ++. Existe la idea errónea de que Arduino tiene su propio idioma. Vea este enlace ¿C ++ vs. El lenguaje Arduino? para una discusión completa sobre Arduino siendo C / C ++ y las simplificaciones que ofrece Arduino. Además, puede ver el código del núcleo de Arduino aquí .
Desde el sitio web de Arduino:
¿Puedo programar la placa Arduino en C?
De hecho, ya lo estás; el lenguaje Arduino es simplemente un conjunto de funciones C / C ++ que se pueden llamar desde su código. Su boceto sufre cambios menores (por ejemplo, generación automática de prototipos de funciones) y luego se pasa directamente a un compilador C / C ++ (avr-g ++). Todas las construcciones estándar de C y C ++ compatibles con avr-g ++ deberían funcionar en Arduino. Para obtener más detalles, consulte la página sobre el proceso de compilación de Arduino .
Arduino ofrece una curva de aprendizaje fácil para principiantes hasta expertos.Así que simplemente descarga el último IDE de Arduino , instálalo y disfrútalo.
Comentarios
- Otro error común es que C es un subconjunto de C ++. La biblioteca central de Arduino está escrita en C ++, por lo que es ' imposible programar en C usándola.