Miro un tablero y veo algunos dispositivos de montaje en superficie, algunas resistencias y condensadores y leds. ¿Eso significa que debido a que una de esas placas es una tarjeta de video, todas las placas con resistencias y condensadores y múltiples capas y trazas son todas tarjetas de video? No
Aquí hay otro ejemplo, esta página web utiliza el alfabeto inglés y las palabras inglesas. Entonces, ¿el sitio web del New York Times hace que este sitio web sea el New York Times? No, simplemente comparten el mismo alfabeto e idioma, pero por lo demás son completamente diferentes.
C es un lenguaje de programación de propósito general que resume la instrucción que se encuentra debajo. Se puede usar para metal desnudo, se puede usar para crear sistemas operativos diferentes e incompatibles entre sí, se puede usar para crear videojuegos, etc. Todos los cuales usan el mismo lenguaje C básico, algunas funciones y construcciones C comunes, así como llamadas a funciones que han creado que son específicas de la aplicación de destino. Para cada una de esas plataformas que mencionas u otras, puede haber un conjunto de funciones que alguien eligió crear. Al igual que un puñado de personas hasta ahora, incluyéndome a mí, le he dado la misma respuesta pero la escribí de una manera diferente. Tome 100 programadores y aíslelos unos de otros y dele una tarea de programación para resolver un problema en particular, sin limitar completamente su libertad de programación, y obtendrá de 1 a 100 soluciones diferentes, incompatibles entre sí, probablemente no 1 sino varios temas comunes dependiendo de su capacitación y experiencia, y luego nombres de variables y nombres de funciones que, como conjunto, probablemente sean únicos para cada individuo. Tome los mismos tableros de los que ya está hablando y encontrará que ciertamente tengo mi propio código C que es incompatible (con las funciones de arduino) para ejecutarse en ellos, como con muchos otros, así como incompatible con otras plataformas. Esa es la belleza de la programación incrustada de metal desnudo, no está limitado de ninguna manera, no tiene que vivir dentro de las llamadas a la biblioteca estándar de los sistemas operativos o el conjunto limitado de reglas de la GUIS, etc. total libertad. probablemente no 1 sino varios temas comunes dependiendo de su capacitación y experiencia, y luego nombres de variables y nombres de funciones que, como conjunto, probablemente sean únicos para cada individuo. Tome los mismos tableros de los que ya está hablando y encontrará que ciertamente tengo mi propio código C que es incompatible (con las funciones de arduino) para ejecutarse en ellos, como con muchos otros, así como incompatible con otras plataformas. Esa es la belleza de la programación incrustada de metal desnudo, no está limitado de ninguna manera, no tiene que vivir dentro de las llamadas a la biblioteca estándar de los sistemas operativos o el conjunto limitado de reglas de la GUIS, etc. total libertad. probablemente no 1 sino varios temas comunes dependiendo de su capacitación y experiencia, y luego nombres de variables y nombres de funciones que, como conjunto, probablemente sean únicos para cada individuo. Tome los mismos tableros de los que ya está hablando y encontrará que ciertamente tengo mi propio código C que es incompatible (con las funciones de arduino) para ejecutarse en ellos, como con muchos otros, así como incompatible con otras plataformas. Esa es la belleza de la programación incrustada de metal desnudo, no está limitado de ninguna manera, no tiene que vivir dentro de las llamadas a la biblioteca estándar de los sistemas operativos o el conjunto limitado de reglas de la GUIS, etc. total libertad. Tome los mismos tableros de los que ya está hablando y encontrará que ciertamente tengo mi propio código C que es incompatible (con las funciones de arduino) para ejecutarse en ellos, como con muchos otros, así como incompatible con otras plataformas. Esa es la belleza de la programación incrustada de metal desnudo, no está limitado de ninguna manera, no tiene que vivir dentro de las llamadas a la biblioteca estándar de los sistemas operativos o el conjunto limitado de reglas de la GUIS, etc. total libertad. Tome los mismos tableros de los que ya está hablando y encontrará que ciertamente tengo mi propio código C que es incompatible (con las funciones de arduino) para ejecutarse en ellos, como con muchos otros, así como incompatible con otras plataformas. Esa es la belleza de la programación incrustada de metal desnudo, no está limitado de ninguna manera, no tiene que vivir dentro de las llamadas a la biblioteca estándar de los sistemas operativos o el conjunto limitado de reglas de la GUIS, etc. total libertad.
Puedes elegir, y un alto porcentaje de personas lo hacen, jugar en el entorno limitado de alguien más en lugar de construir el tuyo propio, lo que significa usar la interfaz gráfica de usuario arduino y sus bibliotecas C.
Puede tomar la misma PC y ejecutar diferentes versiones de Windows it, linux, bsd y una lista completa de otros sistemas operativos que en algún nivel usan C pero cuyas llamadas de función son incompatibles entre sí. El mismo hardware y C incompatible, que se extiende a hardware diferente, el mismo lenguaje, pueden tener código compatible o incompatible. El lenguaje de ninguna manera los hace compatibles.
C se usa en estas plataformas integradas porque esa es la práctica común, no hay otro lenguaje que pueda reemplazar a C por esto. El primer paso para un nuevo procesador es el ensamblaje, por supuesto, luego casi siempre es el siguiente C, luego tal vez otros si es lo suficientemente potente como para ejecutar un sistema operativo (linux, bsd, etc.). C fue inventado y esperaba resolver el problema en ese momento de portar código a través de plataformas, y siempre que tenga un sistema operativo que sea el caso, un compilador compatible con C que crea código que CORRE EN UN SISTEMA OPERATIVO, hará el archivo C estándar operaciones y printf y esas cosas. Pero el bare metal es una historia diferente: no hay un sistema operativo, a menudo no existe una noción de un sistema de archivos ni una pantalla, pero por práctica común es probable que haya un compilador de C que, en su raíz, convierta C en un lenguaje ensamblador específico de destino.