Creare e richiamare una funzione all'interno di uno sketch

Sicuramente sarà banale ma è da due giorni che ci impazzisco.
Ho un piccolo programmino che gira tranquillamente solo che vorrei fargli scrivere la data e l'ora in cui si verifica un dato evento a tal proposito ho aggiunto un real time che anch'esso funziona tranquillamente con il suo sketch ma quando provo a farli funzionare assieme pur non dandomi errori di compilazione non mi scrive a monitor la data.
di seguito un esempio del mio sketch:

//includo la libreria per la
//comunicazione su bus I2C
#include <Wire.h>

int ....
int.....
int....
void dataora(void)
{
Serial.begin(9600);
//inizializzo la libreria
Wire.begin();
Wire.beginTransmission(0x68);
Wire.write((byte)0x00);
Wire.endTransmission();

//richiedo 7 byte dal dispositivo con
//indirizzo 0x68
Wire.requestFrom(0x68, 7);
//regupero i 7 byte relativi ai
//corrispondenti registri
byte secondi = Wire.read();
byte minuti = Wire.read();
byte ora = Wire.read();
byte giorno_sett = Wire.read();
byte giorno_mese = Wire.read();
byte mese = Wire.read();
byte anno = Wire.read();

Serial.print("Orario corrente: ");
Serial.print(ora, HEX);
Serial.print(":");
Serial.print(minuti, HEX);
Serial.print(":");
Serial.println(secondi, HEX);

Serial.print("Giorno della settimana: ");
Serial.println(giorno_sett, HEX);

Serial.print("Data corrente: ");
Serial.print(giorno_mese, HEX);
Serial.print("/");
Serial.print(mese, HEX);
Serial.print("/");
Serial.println(anno, HEX);
Serial.println();
}
void setup()
{

Serial.begin(9600); // inizializzazione porta seriale
pinMode......
pinMode.....
pinMode......
}
void loop()
{
if codizione 1
{
Serial.println("Bella giornata"); // scive a monitor
dataora; //qui dovrebbe scrivermi data e ora ........
}
if condizione 2
{
Serial.println("Oggi nuvoloso"); // scive a monitor
dataora; //qui dovrebbe scrivermi data e ora ........
}
if condizione 3
{
Serial.println("Piove"); // scive a monitor
dataora; //qui dovrebbe scrivermi data e ora ........
}
}

Come devo dichiarare la funzione e come devo richiamarla??

Intanto vedo un Serial.begin() di troppo ... nella funzione NON serve, la porta l'hai già inizializzata nel setup() e poi ...
... le chiamate ad una funzione si fanno mettendo anche le parentesi : dataora(); :wink:

Guglielmo

P.S.: Se la funzione accettasse dei parametri, dovresti passarli proprio tra parentesi. Dato che la tua non ne vuole, devi mettere comunque le parentesi (... è una chiamata a funzione), ma con nulla dentro.

Tanto per chiarire ...
... una funzione si chiama facendola seguire dalle parentesi, se si omettono le parentesi in realtà il compilatore non fa altro che calcolare l'indirizzo della funzione e ... poi non farci nulla dato che, appunto, mancano le parentesi che gli indicano la volontà di chiamarla.

Quindi giusto che NON ti segnali alcun errore (... non c'è errore) e giusto che la funzione NON venga chiamata.

Guglielmo

;D ;D ;D ;D
VEROOOOOO
Adesso funziona, mi e bastato aggiungere ().
Mille grazie