¿Arduino utiliza C o C++? [cerrado]


Viniendo de Python, todo esto de C/C++ es una especie de alien para empezar... y luego veo en un lugar que Arduino utiliza' estándar 'C, y en otro que utiliza 'estándar' C++, así sucesivamente y así sucesivamente. ¿Cuál es? Mi comprensión grosera de la diferencia entre los dos es que C++ es (aproximadamente) C con clases/objetos. ¿Cómo afecta eso a qué idioma o dialecto (C o C++) debo concentrarme en aprender para usarlo principalmente con Arduino?

 54
Author: memilanuk, 2012-08-05

3 answers

Arduino no ejecuta C ni C++. Ejecuta código máquina compilado desde C, C++ o cualquier otro lenguaje que tenga un compilador para el conjunto de instrucciones Arduino.

C siendo un subconjunto de C++, si Arduino puede "ejecutar" C++ entonces puede "ejecutar" C.

Si aún no conoces C ni C++, probablemente deberías comenzar con C, solo para acostumbrarte a todo el asunto del "puntero". Sin embargo, perderá todas las capacidades de herencia de objetos.

 -7
Author: molyss,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-05 00:10:51

Los bocetos de Arduino están escritos en C++.

Aquí hay una construcción típica que encontrarás:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
...
lcd.begin(16, 2);
lcd.print("hello, world");

Eso es C++ no C.

Por lo tanto, hágase un favor y aprenda C++. Hay un montón de libros y recursos en línea disponibles.

 66
Author: Antoine Mathys,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-15 15:59:15

Ambos son compatibles. Para citar el Arduino homepage ,

Las bibliotecas principales están escritas en C y C++ y compiladas usando avr-gcc

Tenga en cuenta que C++ es un superconjunto de C (bueno, casi), y por lo tanto a menudo puede parecer muy similar. No soy un experto, pero supongo que la mayoría de lo que programarás para Arduino en tu primer año en esa plataforma no necesitará nada más que C.

 16
Author: tiwo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-17 07:35:24