Sto cercando di implementare in uno scketch e quindi capire come funzionano le funzioni. Ho letto parecchio ma proprio non riesco a capire come inserirne una in uno sketch che ho sviluppato e che funziona perfettamente, questo:
#define PJON_INCLUDE_SWBB
#include <PJON.h>
#include <Ethernet.h>
#include <SPI.h>
#include "Metro.h"
PJON<SoftwareBitBang> bus(1); //<Strategy name> bus(ID dispositivo)
Metro pollingMetro = Metro(2000); //intervallo tra le letture
float watt = 12121; //valore lettura
String prefix = "C"; //prefisso per identificazione dispositivo C = consumo
void setup() {
bus.strategy.set_pin(9); //pin connessione del bus di trasmissione
bus.begin();
Serial.begin(9600);
}
void loop(){
bus.update();
if(pollingMetro.check() == 1){
String readWatt= String(watt,0);//crea una stringa da un valore float con 0 posti decimali
String stringTmp = String(prefix + readWatt); //prepara la stringa con prefisso + lettura
int lun = stringTmp.length(); //salva nella variabile la lunghezza della stringa appena creata
char stringBuf[lun]; //crea un array di char con lunghezza <lun>
stringTmp.toCharArray(stringBuf, lun+1); //converte la stringa in array di char con lunghezza <lun> +1 (carattere fine riga)
bus.send(3, stringBuf, lun); //invia l'array di char al dispositivo con ID 3 con lunghezza <lun>
// debug dati in trasmissione
Serial.print("Dati trasmessi: ");
for(int i=0; i<lun; i++){
Serial.print(stringBuf[i]);
}
Serial.println();
}
}
Mi piacerebbe creare una funzione dalla sezione finale di codice, quella dopo il commento //debug dati in trasmissione.
Ho provato in molto modi ma o mi esce errore in fase di copilazione oppure se senza errori, sulla seriale non appare nulla. Chi mi illumina?
Grazie mille.