lcd yb12864zb

Questo è il mio primo post percui faro degli errori. Ho comprato su ebay un lcd yb12864zb e volevo collegare ,ad arduino 2009, in modo seriale per non sprecare ingressi, Da arduino playground ho provato la libreria 12864 Graphics LCD library che funziona con collegamento parallelo in fine dalle rete ho scaricato un libreria (avevo postato l'indirizzo ma essendo il mio primo post non è stato accettato)che funziona in seriale però ha comandi per inviare una stringa ma mi serve poter inviare un intero quindi ho modificato la liberia cosi: nel heder ho aggiunto "typedef int numero;" ,in .ccp questa routine ,che è la modifica di una gia esistente, "
//++++++++++++++++++++++inizi

void LCD12864RSPI::DisplayInt(int X,int Y,numero *ptr,int dat)
{
int i;

switch(X)
{
case 0: Y|=0x80;break;

case 1: Y|=0x90;break;

case 2: Y|=0x88;break;

case 3: Y|=0x98;break;

default: break;
}

WriteCommand(Y); //
for(i=0;i<dat;i++)
{
WriteData(ptr*);*

  • }*
    }
    //+++++++++++++++++++++++Fine aggiunta tecno+++++++++++++++++++++++++++++
    Questo è sketch che io scritto
    #include <DFrobot_char.h>
    #include <LCD12864RSPI.h>
    #define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
    #define SCR 10 // scr collegato pin 10
    int numero = 1;
    unsigned char titolo[]="Cronometro ,";//
    unsigned char en_char1[]="minuti ";//
    unsigned char en_char2[]="Secondi ";//
    unsigned char en_char3[]="tecno";//
    int tempo = 0;
    int T_totale = 0;
    int minuti = 0;
    int secondi = 0;
    void setup()
    {
  • LCDA.Initialise(); // INIT SCREEN*
  • delay(100);*
  • //LCDA.DrawFullScreen(logo);//LOGO*
  • delay(5000);*
  • minuti = 1; // tempo in minuti*
  • secondi = 45; // tempo in secondi*
    T_totale = (minuti * 60) + secondi; //tempo totale in secondi
    Serial.begin(9600); // apre la porta seriale x il pc
    }
    void loop() {
  • LCDA.CLEAR();//Clear*
    delay(1000);
    LCDA.DisplayString(1,0,titolo,16);
    delay(1000);
    LCDA.CLEAR();//Clear
    LCDA.DisplayInt(1,0,minuti,16);
    delay(1000);
    LCDA.CLEAR();//Clear
    LCDA.DisplayString(1,0,en_char3,16);
    delay(500);
  • while ((minuti > 0) || (secondi > 0)){*
  • delay(1000);*
    T_totale = (minuti * 60) + secondi; //tempo totale in secondi
  • if (secondi > 0) {*
  • digitalWrite(SCR, 1);*
  • secondi--;*
  • Serial.println(minuti); //stampa il valore sulla porta seriale*
  • Serial.println(secondi); //stampa il valore sulla porta seriale*
  • }*
  • else {*
  • if (minuti > 0) {*
  • minuti--;*
  • secondi = 60;*
  • }*
    } *
    }
    digitalWrite(SCR, 0);
    }
    quando provo a copilare il programma mi da:
    skecth_dic17a.cpp: in fuction 'void loop()':
    skecth_dic17a.cpp:39: error: invalid conversion from 'int' to 'int'

    skecth_dic17a.cpp:39: error: initializing argument 3 of 'void lcd12864rspi::displayInt(int, int, int*, int)'
    dopo varie prove non ho capito niente: Spero che voi mi potete dare un aiuto grazie a tutti