Internet de les coses amb ESP32 i ESP8266

Exemples Referència Plaques   Recursos CITCEA
Projectes Programació Perifèrics   Inici

Tipus de variables

Podem definir molts tipus de variables. Segons el tipus, els valors que hi caben admeten rangs més grans o més petits. En general, com més gran és el rang més memòria es necessita. Els següents són els tipus de variables disponibles.

Tipus Correspon a Rang Comentaris
void No hi ha valor Cap Només es fa servir per a les funcions
Indica que no es retorna cap resultat
boolean Cert o fals true (cert), false (fals)
char Caràcter
 
 
 
Enter amb signe
Qualsevol caràcter ASCII
 
 
 
-128 a 127
Podem fer servir les lletres (entre cometes) o el seu codi ASCII
      lletra = 'B';
      lletra = 66;
 
Atès que es guarden com a números, podem fer operacions amb ells
byte Enter sense signe 0 a 255
unsigned char
int Enter amb signe -32768 a 32767
short
word Enter sense signe 0 a 65535
unsigned int
long Enter amb signe -2 147 483 648   a   2 147 483 647
unsigned long Enter sense signe 0   a   4 294 967 295
float Real amb signe -3,4028235 · 10+38   a   3,4028235 · 10+38 Els valors poden no ser exactes
En alguns casos pot passar que A i A+1 siguin iguals
No convé fer-lo servir per guardar enters
Atenció: En els programes haurem de separar els decimals amb un punt; no amb una coma
#define Assignació de valor No és un tipus de variable
Permet assignar un valor a un nom
El nom serà substituït pel valor en el moment d'enviar-ho al microcontrolador
Va bé quan un mateix valor (que pot variar) apareix en diversos llocs del programa
Vegeu un exemple més avall

A continuació hi ha alguns exemples:

	boolean estat = true;
	char lletra = 'm';
	unsigned int a = 23;

En el següent programa tenim un LED connectat a la pota 13. Fixem-nos que fem servir una variable per guardar el valor 13.

	int potaLED = 13;
void setup(){
	pinMode(potaLED, OUTPUT);
}

En aquest altre programa no fem servir cap variable i, per tant, estalviem memòria. Quan ho enviem al microcontrolador tots els potaLED seran substituïts per 13.

	#define potaLED 13
void setup(){
	pinMode(potaLED, OUTPUT);
}

Fixem-nos que a la línia de #define no hi ha cap signe = ni cap punt i coma.

Conversió de tipus

En alguns casos ens pot fer falta que una variable sigui d'un tipus determinat però necessitem passar-la a un altre tipus en una altra part del programa. Per això disposem d'unes funcions de canvi de tipus. En aquestes funcions podem posar una variable de qualsevol tipus com a paràmetre i el resultat de la funció serà del tipus desitjat.

Les funcions disponibles són:

Funció Exemple Tipus d'entrada Tipus de sortida
char char(a) Qualsevol char
byte byte(a) Qualsevol byte
int int(a) Qualsevol int
word word(a) Qualsevol word
word(b,c) b és el byte més significatiu (esquerra)
c és el byte menys significatiu (dreta)
word = 256 * b + c
long long(a) Qualsevol long
float float(a) Qualsevol float

 

 

 

En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.