LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: filipe89 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
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. :/
-
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...
-
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?
-
É difícil ajudar-te sem olhar para o código.
Porque não crias tu a biblioteca? ;)
-
vê se te desenrrascas com esta lib (https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home).
Atenção, precisas de alterar o código para o endereço dessa shield/whatever...
-
É 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 (https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home).
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.
-
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... ;)
-
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:
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)
:/