Librería propia en C no en C++


hola todos, soy super-novata:

estoy haciendo un proyecto de construcción de una librería con code::blocks arduino para arduino uno.
la tenía hecha con c++ y funcionando pero mi tutor quiere todo únicamente en c.

¿cómo se puede construir una librería propia utilizando un archivo fuente con extensión .c en vez de .cpp para no usar clases? yo lo hecho así pero no funciona no reconoce la función ledon en el sketch.

archivo cabecera: led.h

code: [select]
#ifndef led_h_included
#define led_h_included

#include "arduino.h"

//función para encender el led
void ledon(char color);

#endif // led_h_included



archivo fuente: led.c

code: [select]
/*declaración de las funciones de la librería led*/

#include "arduino.h"
#include "led.h"

//función de asignación del número de pin en función del
//color de led.
int asignacion(char color)
{
    int pin;
    if(color=='b')
    {
        pin=13;
    }
    else if(color=='n')
    {
        pin=12;
    }
    pinmode(pin,output);
    return pin;
}


//función para encender el led
void ledon(char color)
{
    int pin;
    pin = asignacion(color);
    digitalwrite(pin,high);
}


sketch para probarlo:

code: [select]
#include <arduino.h>
#include "led.h"

void setup()
{
serial.begin(9600);
}

void loop()
{
    ledon('b');
}


¿se puede programar un sketch para arduino sin utilizar su estructura void setup() y void loop()?

si no es adecuado el post, por favor, decírmelo porque es la primera vez que participo en un foro.
muchas gracias por la ayuda.

no entiendo las razones de tu tutor pero tal vez lo que te pida sea programar el atmega328 estilo avr.

ejemplo de esto puedes encontrarlo en este link.

acá verás que no se usa setup() y void() sino el tradicional main() de c puro.

el artículo dice como compilar usando el ide pero si esto fuera tu solución yo te recomiendo que descargues atmel studio 6.2.
el ambiente es estilo visual c de modo que no debería darte problemas (supongo), viene listo para compilar c puro y arduino.



Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > Librería propia en C no en C++


arduino

Comments