Bonjour à tous,
J'ai essayé de créer une librairie pour Arduino, mais apparemment ça ne marche pas. Pourriez-vous jeter un coup d'oeil aux codes SVP?
TestTirs3.ino (3.3 KB)
Tirs3.h (1.17 KB)
Tirs3.cpp (3.27 KB)
keywords.txt (514 Bytes)
Bonjour à tous,
J'ai essayé de créer une librairie pour Arduino, mais apparemment ça ne marche pas. Pourriez-vous jeter un coup d'oeil aux codes SVP?
TestTirs3.ino (3.3 KB)
Tirs3.h (1.17 KB)
Tirs3.cpp (3.27 KB)
keywords.txt (514 Bytes)
Qu'est ce qui ne marche pas ?
Compilation, exécution ?
les fichiers sont petits, mettez le texte directement en ligne avec les balises de code. ça nous évitera d'avoir à tout charger, lancer l'IDE etc..
Bonjour à tous,
J'ai essayé de créer une librairie pour Arduino, mais quand je veux l'utiliser dans un programme, la compilation donne le résultat suivant:
C:\Users\Neige\Desktop\TestTirs3\TestTirs3.ino: In function 'void loop()':
TestTirs3:159:8: error: request for member 'Partie1' in 'tirs', which is of non-class type 'Tirs3()'
tirs.Partie1();
^~~~~~~
voici le code du fichier Header
#ifndef Tirs3_h
#define Tirs3_h
#include "Arduino.h"
class Tirs3 {
private:
int buttonStateC0;
int buttonStateC1;
int buttonStateC2;
int buttonStateC3;
int buttonStateC4;
int buttonStateC5;
int lastBoutonStateC0;
int lastBoutonStateC1;
int lastBoutonStateC2;
int lastBoutonStateC3;
int lastBoutonStateC4;
int lastBoutonStateC5;
int Sensibilite=1000;
public:
Tirs3::Tirs3 ();
void PinSetup();
void Partie1();
};
Voici le code source
#include "Tirs3.h"
#include "Arduino.h"
Tirs3::Tirs3 (){
}
void Tirs3::PinSetup() {
}
void Tirs3::Partie1()
{
while(1) {
//Cibles 1
int val0 = analogRead(A0);
if(val0 >= Sensibilite){
buttonStateC0=1;
}
else { buttonStateC0=0;}
if (buttonStateC0 != lastBoutonStateC0) {
if ( buttonStateC0 == 1){
Serial.println(val0);
Serial.println('A');
}
lastBoutonStateC0 = buttonStateC0;
}
//Cible 2
int val1 = analogRead(A1);
if(val1 >= Sensibilite){
buttonStateC1=1;
}
else { buttonStateC1=0;}
if (buttonStateC1 != lastBoutonStateC1) {
if ( buttonStateC1 == 1){
Serial.println(val1);
Serial.println('B');
}
lastBoutonStateC1 = buttonStateC1;
}
//Cible 3
int val2 = analogRead(A2);
if(val2 >= Sensibilite){
buttonStateC2=1;
}
else { buttonStateC2=0;}
if (buttonStateC2 != lastBoutonStateC2) {
if ( buttonStateC2 == 1){
Serial.println(val2);
Serial.println('C');
}
lastBoutonStateC2 = buttonStateC2;
}
//Cible 4
int val3 = analogRead(A3);
if(val3 >= Sensibilite){
buttonStateC3=1;
}
else { buttonStateC3=0;}
if (buttonStateC3 != lastBoutonStateC3) {
if ( buttonStateC3 == 1){
Serial.println(val3);
Serial.println('D');
}
lastBoutonStateC3 = buttonStateC3;
}
//Cible 5
int val4 = analogRead(A4);
if(val4 >= Sensibilite){
buttonStateC4=1;
}
else { buttonStateC4=0;}
if (buttonStateC4 != lastBoutonStateC4) {
if ( buttonStateC4 == 1){
Serial.println(val4);
Serial.println('E');
}
lastBoutonStateC4 = buttonStateC4;
}
//Cible 6
int val5 = analogRead(A5);
if(val5 >= Sensibilite){
buttonStateC5=1;
}
else { buttonStateC5=0;}
if (buttonStateC5 != lastBoutonStateC5) {
if ( buttonStateC5 == 1){
Serial.println(val5);
Serial.println('F');
}
lastBoutonStateC5 = buttonStateC5;
}
} // fin while
}
Voici le fichier kewords.txt
#######################################
# Syntax Coloring Map For Tirs3
#######################################
#######################################
# Datatypes (KEYWORD1)
#######################################
Tirs3 KEYWORD1 Tirs3
#######################################
# Methods and Functions (KEYWORD2)
#######################################
Partie1 KEYWORD2
PinSetup KEYWORD2
#######################################
# Constants (LITERAL1)
#######################################
voici le programme dans lequel je veux utiliser la Librairy
#include <Tirs3.h>
#include <avr/io.h>
#include <avr/wdt.h>
#include <EEPROM.h> // Library To read and write PICC's UIDs from/to EEPROM
#include <LCD.h>
#include <LiquidCrystal_I2C.h> // Librairie pour écran 4fils
#include <SoftwareSerial.h>
#include <SPI.h> // Library RC522 Module uses SPI protocol
#include <Wire.h>
Tirs3 tirs();
void setup() {
Serial.begin(9600);
}
void loop() {
tirs.Partie1();
}
Merci d'avance pour votre aide.
#ifndef Tirs3_h
#define Tirs3_h
// manque #endif
// pas de ()
Tirs3 tirs;