bon effectivement il ya certaine réponse que je pense avoir comprise je vais essayer pour ce qui liron de l'expliquer au fur et a mesure
ici je reprent l'exemple Test.h que j'ai traduit avec googletraduction (bin vu mon niveau d'anlais j'ai pas mieu).
/*
Test.h - Bibliothèque de tests pour le câblage - Description
Copyright (c) 2006 John Doe. Tous droits réservés.
*/
// Permet de s'assurer que cette description de bibliothèque est inclus qu'une seule fois
#ifndef Test_h
#define Test_h
// Inclut les types et les constantes de base API
#include "WConstants.h"
//Description de l'interface / bibliothèque
/*Une classe est simplement un ensemble de fonctions et de variables qui sont tous conservés dans un même lieu. Ces fonctions et les variables peuvent être publics , ce qui signifie qu'ils peuvent être consultés par les personnes qui utilisent votre bibliothèque ou privé , ce qui signifie qu'ils ne peuvent être accessibles à partir de la classe elle-même. Chaque classe a une fonction spéciale appelée constructeur , qui est utilisé pour créer une instance de la classe. Le constructeur a le même nom que la classe, et aucun type de retour.*/
class Test
{
// partie "public" accesible par la bibliothéque et a l'exterieur de la bibliothéque
public:
Test(int);
void doSomething(void);
// partie "privé" accesible que par la bibliothéque
private:
int value;
void doSomethingSecret(void);
};
#endif
Pour le .cpp
*
Test.h - Bibliothèque de tests pour le câblage - la mise en œuvre
Copyright (c) 2006 John Doe. Tous droits réservés.
*/
// Inclut câblage de base API
#include "WProgram.h"
// Inclut fichier de description de cette bibliothèque
#include "Test.h"
//inclure des fichiers de description d'autres bibliothèques utilisées (le cas échéant)
#include "HardwareSerial.h"
// Constructeur
//"::" Fonction qui gère la création et la mise en place d'instances
Test::Test(int givenValue)
{
// Initialiser les variables de cette instance
value = givenValue;
// Faire tout ce qui est nécessaire pour initialiser la bibliothèque
pinMode(13, OUTPUT);
Serial.begin(9600);
}
// Méthodes publiques
// Fonctions disponibles dans les esquisses , cette bibliothèque, et d'autres bibliothèques
void Test::doSomething(void)
{
// Eventhough cette fonction est public, il peut accéder et modifier les variables privées de cette bibliothèque
Serial.print("value is ");
Serial.println(value);
// On peut également appeler des fonctions privées de cette bibliothèque
doSomethingSecret();
}
//Méthodes privée
// Fonctions uniquement disponible pour les autres fonctions de cette bibliothèque
void Test::doSomethingSecret(void)
{
digitalWrite(13, HIGH);
delay(200);
digitalWrite(13, LOW);
delay(200);
}
donc ça repond a certaine de mes question !
en voici d'autre :
dans ma bibliothéque mais fonction sont simple et ne necesite pas de metre certaine pin en fonction output par exemple
je veux juste pouvoir apeler ma fonction qui serai dans une biblioteque comme on utilise la fonction sin(), faut til procede differament ou est ce que j'aurai a modifier mon code actuel ex:
voici ma fonction que je cherche a metre dans une bibliothéque
___________________________________________________________ fonction qui determine si une anée est bisextile ______________________________________*/
/*boolean bisex(int annee){
//ce qui suit permet de determiner si l'annéee et bisextile renvoi vrai ou faux
int r1;
if(annee%400==0){
r1=1;
}
else{
r1=0;
};
int r2;
if(annee%100==0){
r2=1;
}
else{
r2=0;
};
int r3;
if(annee%4==0){
r3=1;
}
else{
r3=0;
};
int reponse;
if(r1-r2+r3==1){
reponse=true;
}
else{
reponse=false;
};
return reponse;
}*/
voici comment je l'utilise actuelement quand elle est dans mon sketch:
if (MOIS==2&&bisex(ANNEE)==true){
if (JOUR<1){
JOUR=29;
};
if (JOUR>29){
JOUR=1;
};
};
////////////////////////////////////////////////////////////////////////////
if (MOIS==2&&bisex(ANNEE)==false){
if (JOUR<1){
JOUR=28;
};
if (JOUR>28){
JOUR=1;
};
};
a quoi va resembler mon apelle de fonction depuis ma bibliotheque?
a truc comme ça :
un_truc.bisex(ANNEE)
je sait que ça vous parrait simple mais je nage!