Publi

  • Utilizar float con sprintf() y derivados en Arduino

    globo-de-aire
    El objetivo de la plataforma Arduino es que los programas sean pequeños, ya que tienen que caber en pocos Kbs. Un pequeño problema que tenemos con eso es que muchas bibliotecas no están implementadas completamente, sino que las encontramos en su versión light, en las que implementan sólo las funcionalidades más normales.
    Un ejemplo de ello son los comandos printf() y scanf() cuya funcionalidad no cubre los valores de punto flotante (float, double), y que si hacemos el siguiente programa:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void setup()
    {
      Serial.
    Leer artículo completo
  • Compilando y linkando a mano con GCC

    GCC compila y linka automáticamente, nos devuelve un ejecutable directamente:

    $ gcc -o ejecutable fuente.c

    pero en realidad, aparte de pre-procesar y compilar, enlaza algunas bibliotecas del sistema para que nuestro ejecutable funcione bien. Sólo por jugar un poco, veamos, más o menos (depende del sistema) cómo obtener el ejecutable a mano, es decir, compilamos por un lado, y linkamos por otro.

    Primero, creamos un programa sencillo, un hello.c que contenga lo siguiente:

    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>

    int main(int argc, char *argv[])
    {
       printf("Hola mundo!!
    Leer artículo completo