Go Down

Topic: Errore Arduino 1.6.3 con libreria RTClib (Read 1 time) previous topic - next topic

francesco_b

Ciao a tutti,
il problema che riscontro è l'incompatibilità, credo, con la libreria Rtclib, utilizzata per leggere la data e ora da un modulo Real-Time-Clock.
Se invece installo la versione 1.5.2r2 di arduino, il problema non esiste. Infatti ho creato uno sketch di domotica in cui utilizzo quel modulo, e adesso che ho eseguito l'aggiornamento dell'IDE appaiono questi errori.

se cerco di compilare questo codice:
Code: [Select]
#include <Wire.h>
#include <RTClib.h>

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}


Appaiono questi errori

Code: [Select]
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\Wire.cpp: In member function 'void TwoWire::setClock(uint32_t)':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\Wire.cpp:80:3: error: 'TWBR' was not declared in this scope
   TWBR = ((F_CPU / frequency) - 16) / 2;
   ^
Errore durante la compilazione



Come posso risolvere?
Ho già provato a riscaricare e a aggiungere la libreria più volte, ma niente da fare.

vbextreme

prova a mettere questo header prima di tutti gli altri
#include <avr/io.h>
Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

gpb01

#2
Jul 01, 2015, 06:20 pm Last Edit: Jul 01, 2015, 06:20 pm by gpb01
... magari non c'entra, ma ... sicuro di aver scelto la "board" giusta ? Perché sembra che non riconosca il "TWI Bit Rate Register" (TWBR) ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

francesco_b

#3
Jul 01, 2015, 06:37 pm Last Edit: Jul 01, 2015, 06:39 pm by francesco_b
Quote
prova a mettere questo header prima di tutti gli altri
#include <avr/io.h>
Altri errori:
Code: [Select]
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:5:1: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:7:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:9:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:11:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:13:18: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:15:1: error: stray '\' in program
datecalc.pde:5:1: error: 'In' does not name a type
datecalc.pde:19:32: error: expected unqualified-id before '^' token
Errore durante la compilazione



Quote
magari non c'entra, ma ... sicuro di aver scelto la "board" giusta ? Perché sembra che non riconosca il "TWI Bit Rate Register" (TWBR)
Gli errori escono se io compilo senza provare l'upload.


Se provo a caricare lo sketch su arduino Uno, ecco gli altri errori:
Code: [Select]

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/WString.h:29:0,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:26,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:26,
                 from C:\Users\Francesco\Documents\Arduino\libraries\RTClib\RTClib.cpp:4:
C:\Users\Francesco\Documents\Arduino\libraries\RTClib\RTClib.cpp:17:31: error: variable 'daysInMonth' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t daysInMonth [] PROGMEM = { 31,28,31,30,31,30,31,31,30,31,30,31 };
                               ^
Errore durante la compilazione

nid69ita

#4
Jul 01, 2015, 06:41 pm Last Edit: Jul 01, 2015, 06:42 pm by nid69ita
Gli errori escono se io compilo senza provare l'upload.
Non c'entra nulla. Il compilatore, anche senza upload, DEVE sapere per quale board compilare, passa dei parametri al codice. Molte librerie hanno delle parti "alternative" in base alla board.
my name is IGOR, not AIGOR

francesco_b

#5
Jul 01, 2015, 06:45 pm Last Edit: Jul 01, 2015, 06:45 pm by francesco_b
Gli errori escono se io cambio l'IDE di arduino, perchè quando avevo la 1.5.6r2 essi non si presentavano.
E comunque ho selezionato Arduino Uno

nid69ita

Dacci il link esatto alla libreria che usi.
my name is IGOR, not AIGOR

gpb01

#7
Jul 01, 2015, 06:50 pm Last Edit: Jul 01, 2015, 06:50 pm by gpb01
Gli errori escono se io compilo senza provare l'upload.
...  :o :o :o ... e che cosa c'entra ? ? ?

E' in fase di "compilazione" che il compilatore ritiene validi alcuni registri piuttosto che altri in funzione della MCU per cui compila !!!

Guglielmo
Search is Your friend ... or I am Your enemy !


vbextreme

Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

francesco_b

#10
Jul 01, 2015, 08:48 pm Last Edit: Jul 01, 2015, 08:49 pm by francesco_b
Sempre errori :smiley-confuse:  :smiley-confuse:

Adesso addirittura, non riconosce l'oggetto Serial.
quando c'è Serial.println(<frase>), dice che non riconosce Serial.

vbextreme

Posta di nuovo il codice senza includere wire e il log completo del compilatore.
Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

francesco_b

Allora:

l'errore del "Serial" è dovuto al fatto che ho selezionato il microcontrollore ATtiny, infatti esso non ha i pin TX e RX e di conseguenza nemmeno la seriale.

per quanto riguarda gli altri errori ho risolto reinstallando la versione 1.5.6r2

Go Up