¿Puedo programar mi Arduino usando cualquier lenguaje de programación que no sea C ++? Si es así, ¿qué lenguajes de programación? ¿Qué software necesitaría para compilar y cargar mi código en el Arduino?
¿Puedo programar mi Arduino usando cualquier lenguaje de programación que no sea C ++? Si es así, ¿qué lenguajes de programación? ¿Qué software necesitaría para compilar y cargar mi código en el Arduino?
Respuestas:
Algunos conocidos comúnmente:
En teoría, debería poder extender avr-gcc para admitir otros idiomas, aunque esto no es una tarea pequeña. También debo advertir que el soporte para lenguajes que no sean C generalmente viene con algunas restricciones bastante pesadas sobre los componentes del lenguaje; por ejemplo, incluso con C ++ se desaconseja crear instancias de nuevos objetos malloc
y free
es extremadamente costoso tanto en espacio de memoria como en ciclos.
Además de usar Google, se aplican las siguientes referencias Haga clic aquí.
En teoría, se podría usar cualquier compilador que genere ensamblaje AVR (limitaciones de módulo en el tamaño del código, uso de ram, etc.).
Existen backends AVR para LLVM y GCC , por lo que, en teoría, con un poco de esfuerzo, la mayoría de los lenguajes compatibles con LLVM y los front-end de GCC podrían compilarse en AVR. Una gran pregunta será el soporte de la biblioteca, etc.
Sin embargo, aquí hay un par de opciones extrañas para el espíritu de la pregunta, en lugar de su letra [1].
¡Ah, y podrías escribir Asamblea AVR sin procesar !
[1] - ¡No he probado esto sin embargo!
Debido a que avr-g ++ debería admitir todas las construcciones estándar de C / C ++, es posible codificar el ensamblaje en línea. Más información sobre este hilo del foro arduino.cc
¡Me sorprende que nadie haya mencionado la Asamblea AVR !
No se suele pensar que el ensamblaje sea el método de programación más interesante, o incluso fácil, pero no obstante, es 100% posible con todos los arduino basados en AVR. Es probable que las placas SAM no funcionen con este sabor, pero aún es posible usar el ensamblaje en su programación.
Todas las placas Arduino (a partir de la publicación) admiten la programación de ensamblaje a través de Atmel Studio , el SDK hecho para chips basados en Atmel.
El ensamblaje es compatible de forma ingenua con todos los dispositivos Atmel y no requiere un cargador de arranque para funcionar, por lo que todos los programas son inherentemente en tiempo real.
__asm__("Assembly code here")
funciona agregar un ensamblaje en línea a cualquier boceto. Sin embargo, para la mayoría de los programas, esta es una mala idea, ya que es difícil lograr la independencia de la plataforma con este método.