Pages: [1]   Go Down
Author Topic: piccolo problema con libreria autocostruita  (Read 289 times)
0 Members and 1 Guest are viewing this topic.
MI
Offline Offline
Jr. Member
**
Karma: 0
Posts: 96
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

rieccomi qui a rompervi i maroni con una delle kie domande da niubbo:
ho fatto la mia prima libreria seguendo il tutorial presente nella playground. è una libreria che mi emette in BCD su 4 pin di arduino un numero . per poter comandare un display a 7 segmenti tramite un cd4511. e una volta completata questa parte implemtero anche una seconda parte per un multiplexing con un secondo cd4511 per selezionare quale dei 4 display che userò nel mio progetto dovrà emettere quel numero.

ecco il mio problema quando inserisco la librearia e vado a compilare il progetto mi esce questo errore:


o: In function `__static_initialization_and_destruction_0':
C:\Users\arduino\AppData\Local\Temp\build6019084255387953051.tmp/_7segex.cpp:5: undefined reference to `Seg7::Seg7(int, int, int, int)'

ecco il file .ccp
Code:
#include "WProgram.h"
#include "Seg7.h"

Seg7::Seg7(int pinA,int pinB,int pinC,int pinD)
{
  pinMode(pinA, OUTPUT);
  pinMode(pinB, OUTPUT);
  pinMode(pinC, OUTPUT);
  pinMode(pinD, OUTPUT);
  _pinA = pinA;
  _pinB = pinB;
  _pinC = pinC;
  _pinD = pinD;
}

void Seg7::scrivi(int num)
{
 switch (num){
  case 0:
   digitalWrite(_pinA, LOW);
   digitalWrite(_pinB, LOW);
   digitalWrite(_pinC, LOW);
   digitalWrite(_pinD, LOW);
   break;
case 1:
   digitalWrite(_pinA, HIGH);
   digitalWrite(_pinB, LOW);
   digitalWrite(_pinC, LOW);
   digitalWrite(_pinD, LOW);
   break;
case 2:
   digitalWrite(_pinA, LOW);
   digitalWrite(_pinB, HIGH);
   digitalWrite(_pinC, LOW);
   digitalWrite(_pinD, LOW);
   break;
case 3:
   digitalWrite(_pinA, HIGH);
   digitalWrite(_pinB, HIGH);
   digitalWrite(_pinC, LOW);
   digitalWrite(_pinD, LOW);
   break;
case 4:
   digitalWrite(_pinA, LOW);
   digitalWrite(_pinB, LOW);
   digitalWrite(_pinC, HIGH);
   digitalWrite(_pinD, LOW);
   break;
case 5:
   digitalWrite(_pinA, HIGH);
   digitalWrite(_pinB, LOW);
   digitalWrite(_pinC, HIGH);
   digitalWrite(_pinD, LOW);
   break;
case 6:
   digitalWrite(_pinA, LOW);
   digitalWrite(_pinB, HIGH);
   digitalWrite(_pinC, HIGH);
   digitalWrite(_pinD, LOW);
case 7:
   digitalWrite(_pinA, HIGH);
   digitalWrite(_pinB, HIGH);
   digitalWrite(_pinC, HIGH);
   digitalWrite(_pinD, LOW);
case 8:
   digitalWrite(_pinA, LOW);
   digitalWrite(_pinB, LOW);
   digitalWrite(_pinC, LOW);
   digitalWrite(_pinD, HIGH);
   break;
case 9:
   digitalWrite(_pinA, HIGH);
   digitalWrite(_pinB, LOW);
   digitalWrite(_pinC, LOW);
   digitalWrite(_pinD, HIGH);
   break;
 }
  
}



e il file .h
Code:

#ifndef Seg7_h
#define Seg7_h

#include "WProgram.h"

class Seg7
{
  public:
    Seg7(int pinA,int pinB,int pinC,int pinD);
    void scrivi(int num);
  private:
    int _pinA;
    int _pinB;
    int _pinC;
    int _pinD;
};

#endif


non riesco a trovare il problema penso di aver seguito quello che dice nel tutorial

potete aiutarmi?
Logged

MI
Offline Offline
Jr. Member
**
Karma: 0
Posts: 96
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

il problema sembra risolto smiley ho rirpovato a riscrivere tutta la libreria da capo e funziona. meglio così ;D
Logged

Pages: [1]   Go Up
Jump to: