Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
sobre Arduino:
C y C++ avanzado
ElCacharreo.com
ElCacharreo.com
Programando Arduino: Presente
ElCacharreo.com Arduino
Avanzado
Programando Arduino:: Presente
blog
javacasm@elcacharreo.com
twitter
linkedin
ElCacharreo.com Arduino
Avanzado
Programando Arduino: Control
if else
switch
while
do while
goto
break
continue
ElCacharreo.com Arduino
Avanzado
Programando Arduino: Estructuras
de control I: Condicionales
if (pinFiveInput < 500)
{
// action A
}
else if ((pinFiveInput < 500) && (pinFiveInput>100))
{ {
// action B // action A
} }
else
{
// action B
}
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Estructuras
de control I: Condicionales
switch (var) {
case 1:
//hacemos algo si var es 1
break;
case 2:
//hacemos algo si var es 2
break;
default:
// si nada concuerda, default
// default es opcional
}
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Estructuras
de control II: Bucles
while(expresion){ while(i<20){
// sentencia(s); // sentencia(s);
} i=i+1;
}
do
{ do
//sentencia(s) {
} while (test condicion); //sentencia(s)
i=i+1;
} while (i<20);
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Estructuras
de control III: Saltos
break: sale del bucle
continue: salta el paso actual del bucle
return: sale de la funcin
goto: salta a la etiqueta
for(int i=0;i<10;i++)
{
if (bsalto>0)
continue;
else
break;
}
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Operadores
http://arduino.cc/en/Reference/HomePage
Arduino
ElCacharreo.com
Avanzado
Arduino Avanzado: Operadores
Operadores Bits and Bytes
lowByte()
& (bitwise and) highByte()
| (bitwise or) bitRead()
^ (bitwise xor) bitWrite()
~ (bitwise not) bitSet()
<< (bitshift left) bitClear()
>> (bitshift right) bit()
ElCacharreo.com Arduino
Avanzado
Programando Arduino:
Conversiones de tipos
float a=2.4;
int b=int(a);
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Matemticas
Math Trigonometra
min() sin() Nmeros aleatorios
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Objetos
Un objeto encapsula
Un objeto simplifica
Ejemplo: Serial
Serial.println()
Serial.write( )
Ejemplo: Servo
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: Objetos
Ejemplo coches
Arduino
ElCacharreo.com
Avanzado
Programando Arduino: String
Arduino
ElCacharreo.com
Avanzado
Arduino Avanzado: Preprocesador
#include <ficheroSistema.h>
#include ficheroPropio.h
#define etiqueta valor
#ifdef etiqueta
Prepocesador
// codigo si definida
#else
// codigo si no definida
#endif
ElCacharreo.com Arduino
Avanzado
Programando Arduino:
Internamente...
#include <Arduino.h>
void main()
{
setup();
while(1)
{
loop();
}
}
Arduino
ElCacharreo.com
Avanzado
Arduino Avanzado: memoria
char *
malloc
calloc
pun(e)teros
Casting
* dereference operator
& reference operator
ElCacharreo.com Arduino
Avanzado
sizeof
Arduino Avanzado: enum
enum
{ monday, tuesday, wednesday, thursday,
friday, saturday, sunday
} day;
http://www.yolinux.com/TUTORIALS/C++Enum.html
http://playground.arduino.cc/Code/Enum
ElCacharreo.com Arduino
Avanzado
Arduino Avanzado: estructuras
struct data data datos;
datos.time=millis();
{ datos.id=10;
datos.an0=analogRead(A0);
char id; ..
datos.dig1=digitalRead(13);
unsigned long time;
int an0;
int an1;
int dig0;
int dig1;
};
http://playground.arduino.cc/Code/Struct
ElCacharreo.com Arduino
Avanzado
Arduino Avanzado: stdio.h
stdio = Librera bsica de c
http://www.cplusplus.com/reference/cstdio/
sprintf http://www.cplusplus.com/reference/cstdio/sprintf/
scanf http://www.cplusplus.com/reference/cstdio/sscanf/
atoi
itoa
str....
ElCacharreo.com Arduino
Avanzado
Arduino Avanzado: enum
ElCacharreo.com Arduino
Avanzado
Conclusiones
ElCacharreo.com Arduino
Avanzado