Objectifs
- Importance
- Comment définir et déclarer une structure
- Comment initialiser une structure
- Comment affecter les données à un champ de structure
- Comment lire les champs d’une structure
- Affectation de structures
- Structure et tableau
- Structure de structure (Exemple sur Arduino Mega)
- Etc.
Importance
- Programmation modulaire
- Généralisation de la notion des types
- Déclaration d’une variable multi-types
- Regroupement des types
Comment définir et déclarer une structure
struct NomStruct
{
Type1 var1;
Type1 var1;
Type1 var1;
...;
};
Exemple
struct MoteurCC
{
float V;
float I;
float Temp;
bool Etat;
bool SurI;
bool SurV;
bool SurTemp;
};
MoteurCC M1, M2, M3;
Comment initialiser les champs d’une structure
M1.V=0.0;
M1.I=0.0;
M1.Temp=0.0;
M1.Etat=false;
Affectation des structures
M2=M1 =>
M2.V=M1.V;
M2.I=M1.I;
...;
Comment lire les champs d’une structure
float TempM1, CourM2;
TempM1=M1.Temp;
CourM2=M2.I
Structure et tableau
struct MCCBuffer
{
float V[10];
float I[10];
};
MCCBuffer MB1,MB2;
MB1.V[1]=0.0;
MB1.I[5]=0.0;
for (int i=0;i<10;i++)
{
MB1.V[i]=0;
MB2.V[i]=0;
}
Structure de structure
struct S1
{
int a1;
int b1;
};
struct S2
{
S1 a2;
S1 b2;
};
S1 ab;
S2 AB;
void setup() {
Serial.begin(9600);
}
void loop() {
// Init & Affichage S1
/*ab.a1=10; ab.b1=100;
Serial.println(ab.a1);
Serial.println(ab.b1);
delay(1000); */
// Init & Affichage S2
/*static byte count =0;
AB.a2.a1=count+1;
AB.b2.b1=count+2;
Serial.println("\n \n");
Serial.println(AB.a2.a1);
Serial.println(AB.b2.b1);
count+=1;
delay(1000);*/
}
Sujets connexes
- Tableau de structure Arduino
- Arduino functions
- Arduino struct array
- Arduino pointeur structure
- Déclaration structure Arduino
- Arduino enum
- Fonction struct Arduino
- Structure de données Arduino