collapse

* Posts Recentes

Making Linear Ball Way Cages por jm_araujo
[14 de Agosto de 2018, 23:03]


TV Antiga Desliga-se por almamater
[14 de Agosto de 2018, 12:34]


Tubo PVC 32mm Branco por SerraCabo
[10 de Agosto de 2018, 22:49]


Ajuda para contruir uma "máquina" de fisioterapia para a minha filha. por Hugu
[08 de Agosto de 2018, 00:47]


Comprar solda decente por jm_araujo
[07 de Agosto de 2018, 11:30]


Telescopio por kieferdl
[03 de Agosto de 2018, 10:10]


Com que equipamento costumam aceder ao LR? por KammutierSpule
[01 de Agosto de 2018, 10:14]


BostonDynamics - Vai uma mãozinha? por jm_araujo
[01 de Agosto de 2018, 08:29]


Baby's got blue eyes por jm_araujo
[30 de Julho de 2018, 22:55]


Queimei 1 Motor :) por SerraCabo
[30 de Julho de 2018, 22:32]

Autor Tópico: I2C LCD  (Lida 2722 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
I2C LCD
« em: 31 de Janeiro de 2013, 23:19 »
Boas noites, comprei um modulo I2C mjkdz e um LCD 16x2 fartei me de procurar na net headers para ele não encontrei, até que fui ao site mjkdz e encontrei. Agora só tem o problema de só dar para a versão antiga do compilador de arduino, que já testei e funciona. na versão nova dá-me o erro
Código: [Seleccione]
In file included from HelloWorld.cpp:2:
C:\Users\xxx\arduino-1.0.1\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:80: error: ISO C++ forbids declaration of 'write' with no type
C:\Users\xxx\arduino-1.0.1\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:80: error: conflicting return type specified for 'virtual int LiquidCrystal_I2C::write(uint8_t)'
C:\Users\xxx\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

em anexo fica a biblioteca que falo

também tentei mudar o código de alguns que andam por ai mas sem sucesso. :/

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: I2C LCD
« Responder #1 em: 01 de Fevereiro de 2013, 00:58 »
Se percebi o erro tem a ver com o nome da função "write" da bilbioteca estar em conflito com outra de uma classe diferente.

Tenta mudar o nome da função...

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #2 em: 01 de Fevereiro de 2013, 03:19 »
Código: [Seleccione]
HelloWorld.pde:-1: error: cannot declare variable 'lcd' to be of abstract type 'LiquidCrystal_I2C'
C:\Users\xxx\arduino-1.0.1\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:54: note:   because the following virtual functions are pure within 'LiquidCrystal_I2C':
C:\Users\xxx\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: note: virtual size_t Print::write(uint8_t)

e agora será do que?

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: I2C LCD
« Responder #3 em: 01 de Fevereiro de 2013, 15:32 »
É difícil ajudar-te sem olhar para o código.

Porque não crias tu a biblioteca?  ;)

Offline poliveira1978

  • Mini Robot
  • *
  • Mensagens: 334
Re: I2C LCD
« Responder #4 em: 01 de Fevereiro de 2013, 18:34 »
vê se te desenrrascas com esta lib.
Atenção, precisas de alterar o código para o endereço dessa shield/whatever...

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #5 em: 02 de Fevereiro de 2013, 00:25 »
É difícil ajudar-te sem olhar para o código.

Porque não crias tu a biblioteca?  ;)

porque não percebo a parte do public e do private

vê se te desenrrascas com esta lib.
Atenção, precisas de alterar o código para o endereço dessa shield/whatever...


já tinha experimentado, e não dá, já tentei mudar os pinos mas não sei como é o D4-D7, pus em bit a bit que é o que me dá a entender que seja, por causa do bits enable RS e RW e mesmo assim não.

Offline tarquinio

  • Mini Robot
  • *
  • Mensagens: 529
Re: I2C LCD
« Responder #6 em: 02 de Fevereiro de 2013, 02:44 »
Boas.

Tirei os erros à library, mas n faço ideia se está a funcionar porque não tenho um LCD desses para testar... Foi um quickfix, mas é capaz de funcionar. Boa sorte... ;)




Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: I2C LCD
« Responder #7 em: 07 de Fevereiro de 2013, 01:25 »
Boas.

Tirei os erros à library, mas n faço ideia se está a funcionar porque não tenho um LCD desses para testar... Foi um quickfix, mas é capaz de funcionar. Boa sorte... ;)

não estava a dar erro mas também não estava a funcionar, então descobri que o .h que enviei falta um void a seguir ao virtual da linha 80, então neste momento está a dar o erro:

Código: [Seleccione]
In file included from HelloWorld.cpp:2:
C:\Users\xxx\arduino-1.0.1\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:80: error: variable or field 'size_t' declared void
C:\Users\xxx\arduino-1.0.1\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:80: error: expected ';' before 'write'
HelloWorld.pde:-1: error: cannot declare variable 'lcd' to be of abstract type 'LiquidCrystal_I2C'
C:\Users\xxx\arduino-1.0.1\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:54: note:   because the following virtual functions are pure within 'LiquidCrystal_I2C':
C:\Users\xxx\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: note: virtual size_t Print::write(uint8_t)

:/
« Última modificação: 07 de Fevereiro de 2013, 01:40 por filipe89 »